Я новичок в Mongo и Mongoid и у меня довольно сложная модель данных, в которой я пытаюсь по существу запрашивать отношение «многие ко многим» и не получаю никаких данных обратно, хотя я и проверил, что идентификаторы, похоже,match.
Модель данных выглядит следующим образом (приветствуются предложения, если есть лучший способ сделать это):
class User
has_one :item_list #favorite items
has_one :store_list #favorite stores
class ItemList
belongs_to :user
has_and_belongs_to_many :items
class StoreList
belongs_to :user
has_and_belongs_to_many :stores
class Item
belongs_to :artist
has_and_belongs_to_many :stores
has_and_belongs_to_many :item_lists
class Store
has_many :versions
has_and_belongs_to_many :store_lists
class Version
belongs_to :item
belongs_to :store
По предложению, которое я читаю онлайн, я пытаюсь получить версии элементов на пользователясписок избранного в определенном магазине (хотя и оставлен только определенный раздел магазина, так как не может найти весь список версий) примерно так:
@favorite_item_ids = current_user.item_list.items.only(:_id).map(&:_id)
@my_items_here = Version.all_in(item_id: @favorite_item_ids)
Я распечатываю id, которые как таковыедолжно быть хотя бы 1 совпадение, но @my_items_here имеет длину 0
@ favourite_item_ids
[BSON :: ObjectId ('4ede1ec254663443fe000011'), ...]
Version.all.only(: item_id) .map (&: item_id)
[BSON :: ObjectId ('4ede1ec254663443fe000011'), ...]
Благодарим за любую помощь!
Версии: mongoid 2.3.4 самоцвета монго 2.0.1 рельсы 3.1