db.collection("mscCollection").find(function (err, cur) {
console.log(JSON.stringify(cur))
})
当我运行它时,它返回一个空对象,即使该集合包含文档并且能够使用shell找到它们
答案 0 :(得分:4)
它实际上是一个游标对象,而不是一个空对象。因为你在它上面调用JSON.stringify,它将从中删除所有函数并打印它。检查它的更好方法是直接在其上调用console.log:console.log(cur);
。
使用find方法,如果你想获得所有文件,你必须调用cursor.toArray(callback)
方法。
要获取光标,要么为find方法注册回调,要么使用find result(仅限其中一个。如果注册了回调,则不返回任何内容):
要么:
collection.find().toArray(function (err, docs) {
console.log(err, docs);
});
或者这个:
collection.find(function (err, cursor) {
cursor.toArray(function (err, docs) {
console.log(err, docs);
});
});
答案 1 :(得分:-1)
此处提供了功能签名:
http://docs.mongodb.org/manual/reference/method/db.collection.find/#db.collection.find
你需要这样做:
db.mscCollection.find({}).forEach(function (obj) { printjson(obj) })
您需要使用{}
查找所有文档,然后使用forEach