Mongoose 3.6 के रूप में एक क्वेरी में संबंधित दस्तावेज़ों को पुनरावर्ती रूप से पॉप्युलेट करने की क्षमता को जोड़ा गया है। आप इसे कैसे कर सकते हैं इसका एक उदाहरण यहां दिया गया है:
UserList.findById(listId)
.populate('refUserListItems')
.exec(function(err, doc){
UserListItem.populate(doc.refUserListItems, {path:'refSuggestion'},
function(err, data){
console.log("User List data: %j", doc);
cb(null, doc);
}
);
});
इस मामले में, मैं उनके संदर्भित दस्तावेज़ों के साथ 'refUserListItems' में आईडी की एक सरणी पॉप्युलेट कर रहा हूं। क्वेरी का परिणाम फिर एक अन्य पॉप्युलेट क्वेरी में पारित हो जाता है जो मूल आबादी वाले दस्तावेज़ के क्षेत्र को संदर्भित करता है जिसे मैं भी पॉप्युलेट करना चाहता हूं - 'refSuggestion'।
ध्यान दें कि दूसरा (आंतरिक) आबाद है - यह वह जगह है जहाँ जादू होता है। आप इन आबादी को घोंसला बनाना जारी रख सकते हैं और अधिक से अधिक दस्तावेज़ों पर तब तक काम कर सकते हैं जब तक कि आप अपने ग्राफ़ को अपनी आवश्यकता के अनुसार नहीं बना लेते।
यह कैसे काम कर रहा है, इसे पचाने में थोड़ा समय लगता है, लेकिन अगर आप इसके माध्यम से काम करते हैं, तो यह समझ में आता है।