0
我有這個模式的典範:排序嵌套屬性,Mongoid
class Treatment
include Mongoid::Document
field :value, type: Money # money-rails gem
end
該值場得到保存到數據庫爲value: {"cents"=>313, "currency_iso"=>"EUR"}
我想找到所有的治療和由cents
對它們進行排序值。
現在這是我要做的事:
Treatment.collection.find().sort({value: { :cents => 1 }})
這是使用輕便摩托車的驅動程序。我如何使用plain Mongoid來做到這一點?
Edit1。
[6] pry(main)> Treatment.all.only(:value).asc('value.cents').entries
=> [#<Treatment _id: 515854c2a1d24ccb1f000005, value: {"cents"=>2849, "currency_iso"=>"EUR"}>,
#<Treatment _id: 515854c2a1d24ccb1f000006, value: {"cents"=>313, "currency_iso"=>"EUR"}>,
#<Treatment _id: 515854c2a1d24ccb1f00000f, value: {"cents"=>1214, "currency_iso"=>"EUR"}>,
#<Treatment _id: 515854c2a1d24ccb1f000010, value: {"cents"=>1795, "currency_iso"=>"EUR"}>,
#<Treatment _id: 515854c2a1d24ccb1f000011, value: {"cents"=>105, "currency_iso"=>"EUR"}>,
#<Treatment _id: 515854c2a1d24ccb1f000012, value: {"cents"=>2547, "currency_iso"=>"EUR"}>
Edit2。
MongoDB的:穩定的2.4.1-x86_64的 mongoid(3.1.2)
這是我第一個想法。但它不起作用。條目沒有排序。 – Nerian
簽出編輯 – Nerian
您正在使用哪個版本的mongoid/mongodb?我發佈了一個使用Mongoid 3.1.2和MongoDB 2.2.0的完整示例。 – 2013-04-01 12:56:11