我有两个mongoid模型:
bid.rb和supplier.rb
class Bid
include Mongoid::Document
field :amount, type: BigDecimal
embeds_one :supplier
end
我想查询嵌入式:supplier
:name
并在JSON响应中显示:bid
:amount
。
我尝试了各种各样的方式,我得到的最远的是:
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)
答案 0 :(得分:0)
当你说:
embeds_one :supplier
您真的说bids
集合中有一个名为Hash
的{{1}}字段,而supplier
应该包含在通常Hash
中} 东西。这意味着您可以像查看任何其他Mongoid::Document
:
supplier
Hash