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

Restituisce determinati campi con .populate() da Mongoose

Non sono del tutto chiaro cosa intendi per "restituire un campo", ma puoi usare un lean() query in modo da poter modificare liberamente l'output, quindi compilare entrambi i campi e post-elaborare il risultato per mantenere solo il campo desiderato:

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