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

Mongoose befolker indlejret array

Opdatering: Se venligst Trinh Hoang Nhus svar for en mere kompakt version, der blev tilføjet i Mongoose 4. Sammenfattet nedenfor:

Car
  .find()
  .populate({
    path: 'partIds',
    model: 'Part',
    populate: {
      path: 'otherIds',
      model: 'Other'
    }
  })

Mongoose 3 og derunder:

Car
  .find()
  .populate('partIds')
  .exec(function(err, docs) {
    if(err) return callback(err);
    Car.populate(docs, {
      path: 'partIds.otherIds',
      model: 'Other'
    },
    function(err, cars) {
      if(err) return callback(err);
      console.log(cars); // This object should now be populated accordingly.
    });
  });

For indlejrede populationer som denne skal du fortælle mongoose, hvilket skema du vil befolke fra.



  1. MongoDB $or forespørgsel

  2. Redis CLI viser ikke nyligt gemt nøgle via Laravel

  3. MongoDB jsonSchema validering yderligere egenskaber

  4. Resulterer hvert opkald inden for et multi()-kald i phpredis i en ny netværksrundtur til redis?