我有一个具有此架构的模型:
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 }})
这是使用轻便摩托车驱动程序。我怎样才能使用普通的 Mongoid 来做到这一点?
编辑1。
[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"}>
编辑2。
mongodb:稳定的 2.4.1-x86_64 mongoid (3.1.2)