MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Geben Sie bestimmte Felder mit .populate() von Mongoose zurück

Mir ist nicht ganz klar, was Sie mit "Rückgabe eines Felds" meinen, aber Sie können ein lean() verwenden Abfrage, sodass Sie die Ausgabe frei ändern können, dann beide Felder ausfüllen und das Ergebnis nachbearbeiten, um nur das gewünschte Feld beizubehalten:

.lean().populate('user', 'email.address facebook.address')
  .exec(function (err, subscription){ 
    if (subscription.user.email.address) {
        delete subscription.user.facebook;
    } else {
        delete subscription.user.email;
    }
  });