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

Вградена популация от мангуста

От Mongoose 3.6 е добавена възможността за рекурсивно попълване на свързани документи в заявка. Ето пример за това как можете да го направите:

 UserList.findById(listId)
         .populate('refUserListItems')
         .exec(function(err, doc){
             UserListItem.populate(doc.refUserListItems, {path:'refSuggestion'},
                   function(err, data){
                        console.log("User List data: %j", doc);
                        cb(null, doc);
                   }
             );     
          });           

В този случай попълвам масив от идентификационни номера в 'refUserListItems' с техните препратки документи. След това резултатът от заявката се предава в друга заявка за попълване, която препраща към полето на оригиналния попълнен документ, който също искам да попълня – „refSuggestion“.

Обърнете внимание на второто (вътрешно) попълване - тук се случва магията. Можете да продължите да влагате тези попълвания и да добавяте към все повече и повече документи, докато не изградите графиката си по начина, по който се нуждаете.

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как мога да използвам Python за трансформиране на bsondump на MongoDB в JSON?

  2. Методът за намиране на Mongoose с $или условие не работи правилно

  3. Съхранявайте датата в MongoDB, без да отчитате часовата зона

  4. Как да създадете потребител и да добавите роля в MongoDB

  5. 8 начина да получите деня от дата в MongoDB