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;
}
});