MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Филтрирането на вложено попълване е MongoDB

Когато изпълнявате await Order.find({}).populate({ , Mongoose първо изпраща find към сървъра mongod и връща курсор, който се предава за попълване.

След това Populate извлича всеки документ от курсора и изпраща отделно find към user колекция, за да извлече съвпадащия(те) документ(и), и итерира този курсор, поставяйки извлечените документи в масив в оригиналния документ.

Попълването може да повлияе на това кои документи са вградени в оригиналните документи, но няма възможност да премахва документи от оригиналния набор от резултати.

match предадено за попълване ще означава, че само съответстващите потребители ще бъдат добавени към оригиналния документ, така че трябва да можете да използвате filter за да елиминирате всички документи в резултата, които не съдържат потребители.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose find() не връща резултат

  2. MongoDB Агрегиране с $sample много бавно

  3. pymongo:MongoClient или Connection

  4. MongoDB Покажи текущия потребител

  5. Каква би била мотивацията за интегриране на mongodb със solr