2011-10-04 180 views
0

我有這些模型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

嘿納扎爾,你有沒有找到一個解決的辦法? –

回答

-1

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

+0

好的。但我怎樣才能找到與城市郵政編碼的狀態? –

0

這裏的解決方案是兩個保持州內的城市的id-s,然後你可以找到在該數組內有某些id-s的狀態。您可以在那裏實現困難邏輯與,NIN(不)關鍵字等

我真的建議你看this進入它

+0

謝謝大家,它可以幫助我理解MongoDB中的模式設計。 –