कृपया नीचे दिए गए कोड स्निपेट को देखें। मेरे पास 'stuObjList' नामक JSON ऑब्जेक्ट्स की एक सरणी है। मैं विशिष्ट जेएसओएन ऑब्जेक्ट्स को एक निश्चित ध्वज सेट के साथ खोजने के लिए सरणी के माध्यम से लूप करना चाहता हूं, और फिर अधिक डेटा पुनर्प्राप्त करने के लिए एक डीबी कॉल करें।नोडजेज़ में, फॉर लूप को कैसे रोकें जब तक कि mongodb कॉल रिटर्न
संभोग, फोर लूप डीबी कॉल वापस लौटने की प्रतीक्षा नहीं करता है और j == लंबाई के अंत तक पहुंचता है। और जब डीबी कॉल रिटर्न, सूचकांक 'जे' सरणी सूचकांक से परे है। मैं समझता हूं कि कैसे node.js काम करता है और यह अपेक्षित व्यवहार है।
मेरा सवाल है, यहां पर काम क्या है। मैं जो हासिल करने की कोशिश कर रहा हूं उसे कैसे प्राप्त कर सकता हूं? धन्यवाद, --su
...............
...............
...............
else
{
console.log("stuObjList.length: " + stuObjList.length);
var j = 0;
for(j = 0; j < stuObjList.length; j++)
{
if(stuObjList[j]['honor_student'] != null)
{
db.collection("students").findOne({'_id' : stuObjList[j]['_id'];}, function(err, origStuObj)
{
var marker = stuObjList[j]['_id'];
var major = stuObjList[j]['major'];
});
}
if(j == stuObjList.length)
{
process.nextTick(function()
{
callback(stuObjList);
});
}
}
}
});
@Clint ... बहुत धन्यवाद। मैं इसे आज़माउंगा और आपको बताऊंगा कि यह कैसे काम करता है। –
@Clint ... जो काम किया। बहुत धन्यवाद! –