我试图从mongoDB获取所有文档,我的代码如下:
MongoClient.connect('mongodb://localhost/catalog', function(err, db) {
db.open(function(err, db) {
var cursor = db.collection('products').find(function(err, cursor) {
cursor.each(function(err, doc) {
console.log(doc);
});
});
});
});
虽然我没有打印出任何东西,但我无法弄清问题在哪里。如果我放置一个查询字符串(即find({" name":" Samsung note"})),它可以正常工作并返回产品。
我的错误在哪儿?
TNX!
更新:即使我要求购买单个产品也有问题,cursor.count()什么都不返回。
db.open(function(err, db) {
db.collection('products').find({"upc": "027242799219"}, function(err, cursor) {
var cnt = cursor.count();
console.log(cnt);
});
});
update(take 2):我转到了另一个mongoDB .find()问题并从答案中复制了代码:
MongoClient.connect('mongodb://localhost/catalog', function(err, db) {
theDB = db;
db.open(function(err, db) {
if (err) return console.log('error opening db, err = ', err);
console.log("db opened!");
db.collection('products', function(err, collection) {
if (err) return console.log('error opening users collection, err = ', err);
collection.find().limit(100).toArray(function(err, results) {
if (err) return console.log('error initiating find on users, err = ', err);
else
{
for(i = 0; i < 100; i++)
{
console.log(results[i]);
}
db.close();
console.log("CLOSED");
}
});
});
});
});
现在...打印结果,但是如果我在console.log上放置断点或者我尝试用结果[i]做某事(比如把它写成弹性)应用程序没有响应。我可以在任务管理器中看到它使用越来越多的CPU /内存而没有真正命中我的断点。
什么是什么?