mongoid 用数组创建文档

mongoid creating document with array

我有两个 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) 其中只有 returns 供应商 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 集合有一个名为 supplierHash 字段,并且 Hash 应该包含在通常的 Mongoid::Document 东西。这意味着您可以像查询任何其他 Hash:

一样查询 supplier
Bid.where('supplier.name' => 'Ford')