अपनी क्वेरी चलाने के बाद मुझे MongoDB से JSON मान वापस मिल रहा है। समस्या यह है कि मैं अपनी वापसी से जुड़े सभी JSON को वापस नहीं करना चाहता, मैंने डॉक्स की खोज करने की कोशिश की और ऐसा करने का उचित तरीका नहीं खोजा। मैं सोच रहा था कि क्या यह संभव है, और यदि ऐसा करने का उचित तरीका क्या है। उदाहरण: डीबी में
{
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]
आरएमएस के लिए [facebook][address]
मैदान और जुकरबर्ग के लिए मैदान वापस करना चाहूंगा। यह वही है जो मैंने खोजने की कोशिश की है कि यदि कोई क्षेत्र शून्य है, लेकिन यह काम नहीं करता है।
.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");
}
}
}