sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoid - frågar efter refererat dokument

Problemet är att MongoDB inte har något sätt att mappa en Category spela in till en Ad spela in. Allt den vet är att en Ad posten har ett category_id fältet så 'category.domain_id' kommer alltid att returnera ingenting. Punktnotationen i frågor fungerar bara för inbäddade dokument, inte referenser (som fortfarande är andra klassens medborgare i MongoDB).

Så för att lösa ditt problem behöver du två frågor:

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



  1. Hur får du strängvärdet för ett MongoID med PHP?

  2. Vilka är begränsningarna för partiella index?

  3. Exkluderar $fields när du hämtar dokument från MongoDB

  4. mongo db (mongodb.service) misslyckades, status 14