我有两个蒙古模型:
bid.rb和Supplier.rb
class Bid
include Mongoid::Document
field :amount, type: BigDecimal
embeds_one :supplier
end
我想查询嵌入的内容:supplier
:name
并:bid
:amount
在JSON响应中显示。
我尝试了各种方式,最远的是:Bid.all.pluck(:supplier, :amount)
仅返回供应商ID和数量。
现在,我可以写bid_data = Bid.all
得到以下JSON响应:
{"bid_data":
[{"_id":{"$oid":"58a0a9a531d77f01529a22ba"},
"amount":"5335.0",
"supplier":{"_id":{"$oid":"58a087b131d77f01529a229c"},"name":"Ford","comment":3}
}]}
如何Bid.supplier.name
在控制器中查询?
理想情况下,我想要类似的东西 Bid.all.pluck(:supplier.name, :amount)
当你说:
embeds_one :supplier
您实际上是在说bids
集合中有一个Hash
名为的字段supplier
,Hash
应该用平常的Mongoid::Document
内容将其包装起来。这意味着您可以supplier
像其他查询一样进行查询Hash
:
Bid.where('supplier.name' => 'Ford')
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句