我在架构中有MongoDB集合,如
deal
- id
- locations
[
{city: A, zip: 111}
{city: B, zip: 222}
{city: C, zip: 333}
]
我使用Mongoid与MongoDB进行交互。
class Deal
include Mongoid::Document
store_in collection: :deals
...
end
使用Deal.find('xxx')我可以获得一个对象d。我可以使用像d.id和d.locations这样的格式。但是,d.locations [0]是一个Hash对象。我只能使用格式d.locations [0] [:city]而不是首选的d.locations [0] .city。 我如何实现这一目标?
答案 0 :(得分:0)
您可以定义一个嵌入对象中的新mongoid对象
class Deal
include Mongoid::Document
embeds_many :locations
...
end
class Location
include Mongoid::Document
embedded_in :deal
field :city, :zip
end