Node.js mongodb cursor.each变空,无法按顺序运行

时间:2014-06-02 11:35:06

标签: node.js mongodb

server.get('/getlist', function (req, res, next) {
    db.collection('lists',function(error, collection) {
        var gets = [];
        var cursor = collection.find({status: 1});
        var i = 0;
        cursor.each(function (err, docs) {
            console.log(docs);
            gets[i] = docs;
            i = i + 1;
        });
        res.send(gets);
    });

    return next();
});

它可以正确注销,但网站“http://127.0.0.1:8080/getlist”结果为空“[]”。 如何使cursor.each按顺序运行每个源代码行?或者有更好的解决方案吗?

1 个答案:

答案 0 :(得分:2)

您可以使用toArray将光标转换为数组:

cursor.toArray(function(err,documents){
   res.send(documents);
   next();
});