MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongoid:interrogazione per documento di riferimento

Il problema è che MongoDB non ha alcun modo per mappare una Category registrare in un Ad disco. Tutto quello che sa è che un Ad il record ha un category_id campo così 'category.domain_id' non restituirà sempre nulla. La notazione del punto all'interno delle query funziona solo per i documenti incorporati, non per i riferimenti (che sono ancora cittadini di seconda classe in MongoDB).

Quindi, per risolvere il tuo problema, avrai bisogno di 2 domande:

category_ids = Category.where(:domain_id => domain.id).map(&:_id)
Ad.where(:category_id.in => category_ids)