MongoID реляционные запросы - PullRequest
0 голосов
/ 04 октября 2011

У меня были эти модели

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 Он не возвращает ничего, где, как город есть в базе данных.

Как я могу найти его и затем связать с адресом организации?

Ответы [ 2 ]

0 голосов
/ 04 октября 2011

Решение состоит в том, что два хранят идентификаторы городов внутри State, и затем вы можете найти состояния, которые имеют определенные идентификаторы внутри этого массива.Вы можете реализовать сложную логику с ключевыми словами IN, NIN (не в) и т. Д.

Я действительно рекомендую вам посмотреть этот , чтобы войти в него

0 голосов
/ 04 октября 2011

Вы не можете ссылаться на внедренные документы в MongoID.

...