쿼리를 실행 한 후 MongoDB에서 JSON 값이 반환됩니다. 문제는 내 반품과 관련된 모든 JSON을 반환하고 싶지 않다는 것입니다. 문서 검색을 시도했지만 적절한 방법을 찾지 못했습니다. 나는 그것이 가능하다면 어떻게 될지, 그렇다면 그렇게하는 적절한 방법은 무엇인지 궁금했다. 예 : DB에서
{
user: "RMS",
OS: "GNU/HURD",
bearded: "yes",
philosophy: {
software: "FOSS",
cryptology: "Necessary"
},
email: {
responds: "Yes",
address: "rms@gnu.org"
},
facebook: {}
}
{
user: "zuckerburg",
os: "OSX",
bearded: "no",
philosophy: {
software: "OSS",
cryptology: "Optional"
},
email: {},
facebook: {
responds: "Sometimes",
address: "https://www.facebook.com/zuck?fref=ts"
}
}
사용자를 위해 존재하지만 다른 필드를 반환하지 않는 경우 필드를 반환하는 적절한 방법은 무엇입니까? 위의 예 [email][address]
에서 RMS에 대한 [facebook][address]
필드와 Zuckerburg에 대한 필드 를 반환하고 싶습니다. 이것은 필드가 null인지 찾으려고했지만 작동하지 않는 것 같습니다.
.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");
}
}
}