Mi viene restituito un valore JSON da MongoDB dopo l'esecuzione della mia query. Il problema è che non voglio restituire tutto il JSON associato al mio ritorno, ho provato a cercare i documenti e non ho trovato un modo corretto per farlo. Mi stavo chiedendo cosa sarebbe se fosse possibile, e se sì, qual è il modo corretto di farlo. Esempio: Nel DBRestituire determinati campi con .populate() da Mongoose
{
user: "RMS",
OS: "GNU/HURD",
bearded: "yes",
philosophy: {
software: "FOSS",
cryptology: "Necessary"
},
email: {
responds: "Yes",
address: "[email protected]"
},
facebook: {}
}
{
user: "zuckerburg",
os: "OSX",
bearded: "no",
philosophy: {
software: "OSS",
cryptology: "Optional"
},
email: {},
facebook: {
responds: "Sometimes",
address: "https://www.facebook.com/zuck?fref=ts"
}
}
Quale sarebbe il modo corretto di restituire un campo se esiste per un utente, ma se non restituisce un altro campo. Per l'esempio sopra, vorrei restituire il campo [email][address]
per RMS e il campo [facebook][address]
per Zuckerburg. Questo è quello che ho cercato di trovare se un campo è nullo, ma non sembra funzionare.
.populate('user' , `email.address`)
.exec(function (err, subscription){
var key;
var f;
for(key in subscription){
if(subscription[key].facebook != null ){
console.log("user has fb");
}
}
}
questo non funziona per me, qualcuno sa se questo è cambiato con un aggiornamento di Mongoose? –