0

在以下代码中:

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/db_name', function(err, db){
    if (err) throw err;

    var collection = db.collection('col_name');
    console.log(collection.find().toArray(function(err, items){}));

});

当我运行上述内容时,它不会返回任何结果,而是返回undefined. 我错过了什么?

另外,为了确认数据库上存在一些集合,我尝试添加console.log(db.getCollectionNames());,但看起来它在 Node.js 驱动程序中没有这样的方法。那么还有没有可能确认收藏品的存在呢?(无论如何,我只是想在这些情况下将其用作调试 - 通常我不需要该方法)。

谢谢。

4

2 回答 2

6

不要记录整个find()函数,在回调中进行检查:

collection.find().toArray(function(err, items){
    console.log(items);
});
于 2013-08-16T14:23:09.667 回答
2

对于 getCollectionNames() 部分,该方法实际上在 mongodb 本机驱动程序中称为 collectionNames() :

db.collectionNames(function (err, list) {console.log(list)});
于 2013-10-16T16:41:03.370 回答