toArray
funkce existuje na Cursor
třídy z ovladače Native MongoDB NodeJS (odkaz). find
metoda v MongooseJS vrací Query
objekt (odkaz). Existuje několik způsobů, jak můžete vyhledávat a vracet výsledky.
Protože v ovladači NodeJS pro MongoDB nejsou žádná synchronní volání, budete muset ve všech případech použít asynchronní vzor. Příklady pro MongoDB, které jsou často v JavaScriptu pomocí MongoDB Console, naznačují, že nativní ovladač také podporuje podobnou funkci, kterou nepodporuje.
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);
});
};
Potom to zavolejte:
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('/');
});
Můžete také třídit podle pole (jako je například datum příspěvku na blogu):
Blog.find().where("author", username).
sort("-postDate").exec(/* your callback function */);
Výše uvedený kód by seřadil v sestupném pořadí na základě pole nazvaného postDate
(alternativní syntaxe:sort({ postDate: -1})
.