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

Mongoid - forespørgsel efter refereret dokument

Problemet er, at MongoDB ikke har nogen måde at kortlægge en Category optage til en Ad optage. Det eneste, den ved, er, at en Ad posten har en category_id felt så 'category.domain_id' vil altid ikke returnere noget. Punktnotationen i forespørgsler virker kun for indlejrede dokumenter, ikke referencer (som stadig er andenrangsborgere i MongoDB).

Så for at løse dit problem skal du bruge 2 forespørgsler:

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



  1. Topologi blev ødelagt ved brug af MongoDB med native driver og Express.js

  2. MongoDB Schema Design (indlejret array vs separat samling)

  3. Node.js Mongoose.js streng til ObjectId funktion

  4. hvordan man konfigurerer timeout for JedisConnectionFactory-basen på fjederstøvleramme