在以下代码中:
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
。我错过了什么?
另外,为了确认db上存在一些集合,我尝试添加console.log(db.getCollectionNames());
,但看起来它在Node.js驱动程序中没有这样的方法。那么仍然可以确认收藏品的存在吗? (无论如何,我只想在这些情况下使用它作为调试 - 通常我不需要这个方法。)
感谢。
答案 0 :(得分:6)
不要记录整个find()
函数,在回调中进行检查:
collection.find().toArray(function(err, items){
console.log(items);
});
答案 1 :(得分:2)
对于getCollectionNames()部分,该方法实际上在mongodb本机驱动程序中称为collectionNames():
db.collectionNames(function (err, list) {console.log(list)});