toArray
फ़ंक्शन Cursor
पर मौजूद है मूल MongoDB NodeJS ड्राइवर (संदर्भ) से वर्ग। find
MongooseJS में विधि एक Query
लौटाती है वस्तु (संदर्भ)। कुछ तरीके हैं जिनसे आप खोज कर सकते हैं और परिणाम लौटा सकते हैं।
चूंकि MongoDB के लिए NodeJS ड्राइवर में कोई सिंक्रोनस कॉल नहीं हैं, इसलिए आपको सभी मामलों में एक एसिंक्रोनस पैटर्न का उपयोग करना होगा। MongoDB के उदाहरण, जो अक्सर MongoDB कंसोल का उपयोग करके जावास्क्रिप्ट में होते हैं, यह दर्शाता है कि मूल ड्राइवर भी समान कार्यक्षमता का समर्थन करता है, जो यह नहीं करता है।
var userBlogs = function(username, callback) {
Blog.find().where("author", username).
exec(function(err, blogs) {
// docs contains an array of MongooseJS Documents
// so you can return that...
// reverse does an in-place modification, so there's no reason
// to assign to something else ...
blogs.reverse();
callback(err, blogs);
});
};
फिर, इसे कॉल करने के लिए:
userBlogs(req.user.username, function(err, blogs) {
if (err) {
/* panic! there was an error fetching the list of blogs */
return;
}
// do something with the blogs here ...
res.redirect('/');
});
आप किसी फ़ील्ड पर छँटाई भी कर सकते हैं (उदाहरण के लिए ब्लॉग पोस्ट की तारीख की तरह):
Blog.find().where("author", username).
sort("-postDate").exec(/* your callback function */);
उपरोक्त कोड postDate
. नामक फ़ील्ड के आधार पर अवरोही क्रम में सॉर्ट करेगा (वैकल्पिक सिंटैक्स:sort({ postDate: -1})
।