MongoID关系查询

问题描述:

我有这些模型MongoID关系查询

class State 
    include Mongoid::Document 
    field :name  
    embeds_many :cities 
end 


class City 
    include Mongoid::Document  
    field :name 
    field :zip_code  
    embedded_in :state  
    references_many :organization_addresses 
end 

class Organization 
    include Mongoid::Document  
    field :name  
    references_many :organization_addresses 
end 

class OrganizationAddress 
    include Mongoid::Document  
    field :address 
    field :latitude, :type=>Float 
    field :longitude, :type=>Float  
    referenced_in :organization 
    referenced_in :city 
end 

现在,我想创建一个地址为一个组织,并说明解决的城市,其ZIP_CODE是06511。首先,我该如何找到嵌入状态的城市。然后我可以如何参考它。我写了查询State.where("cities.zip_code"=>"06511").count它不会返回任何数据库中存在的城市。

我该如何搜索,然后将其引用到组织的地址?

+0

嘿纳扎尔,你有没有找到一个解决的办法? –

您不能在MongoID中引用嵌入式文档。

+0

好的。但我怎样才能找到与城市邮政编码的状态? –

这里的解决方案是两个保持州内的城市的id-s,然后你可以找到在该数组内有某些id-s的状态。您可以在那里实现困难逻辑与,NIN(不)关键字等

我真的建议你看this进入它

+0

谢谢大家,它可以帮助我理解MongoDB中的模式设计。 –