Tôi nhận được trả về một giá trị JSON từ MongoDB sau khi tôi chạy truy vấn của mình. Vấn đề là tôi không muốn trả lại tất cả JSON liên quan đến việc trả lại của mình, tôi đã thử tìm kiếm tài liệu và không tìm thấy cách thích hợp để thực hiện việc này. Tôi đã tự hỏi nếu có thể thì sao, và nếu có thì đâu là cách thích hợp để làm như vậy. Ví dụ: Trong 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"
}
}
Cách thích hợp để trả về một trường nếu nó tồn tại cho người dùng, nhưng nếu nó không trả về một trường khác. Đối với ví dụ trên, tôi muốn trả lại [email][address]
trường cho RMS và [facebook][address]
trường cho Zuckerburg. Đây là những gì tôi đã cố gắng tìm nếu một trường là null, nhưng nó dường như không hoạt động.
.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");
}
}
}