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

MongoDB да използва разделяне с $lookup оператор за агрегиране

Както показват документите, които цитирате, не можете да използвате $lookup на разчленена колекция. Така че най-добрата практика е да извършите търсенето сами в отделна заявка.

  1. Извършете своя aggregate запитване.
  2. Изтеглете стойностите на „localField“ от резултатите от вашата заявка в масив, евентуално като използвате Array#map .
  3. Извършете find заявка срещу колекцията "от", използвайки заявка като {foreignField: {$in: localFieldArray}}
  4. Обединете резултатите си във формат, от който се нуждаете.

Не позволявайте на $lookup ограничението ви спира да разделяте колекции, които го изискват за мащабируемост, просто изпълнете сами функцията за търсене.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Обратното извикване на Mongoose.js instance.save() не се задейства

  2. Spring data mongodb - Опцията „курсор“ е задължителна

  3. Намерете дублиращи се URL адреси в mongodb

  4. MongoDB $lte оператор на конвейера за агрегация

  5. Как MongoDB се справя с едновременните актуализации?