node.js MongoDB查询不返回结果

got*_*ops 13 mongodb node.js

我正在玩mongodb,并在'users'集合中输入了一些测试数据{name:"david"}.我通过输入验证了使用mongo shell在MongoDB中的数据

db.users.find()
Run Code Online (Sandbox Code Playgroud)

结果:

{ "name":"david" }
Run Code Online (Sandbox Code Playgroud)

在node.js脚本中,以下代码:

db.open(function(err, db) {
    if (!err) {
        console.log("db opened!");
    }
    else {
        console.log(err);
    }
    db.collection('users', function(err, collection) {
        collection.find({}, function(err, cursor) {
            cursor.each(function(err, item) {
                console.log(item);
            });
        });
    });
    db.close();
});
Run Code Online (Sandbox Code Playgroud)

不会返回任何结果

我没有看到任何错误,也没有错误的回报.请指教

cjo*_*ohn 10

在收集集合中的数据之前,您实际上是在关闭数据库连接.

db.collection('users', function(err, collection) {
  collection.find({}, function(err, cursor) {
    cursor.each(function(err, item) {
      console.log(item);
    });

    // our collection has returned, now we can close the database
    db.close();
  });
});
Run Code Online (Sandbox Code Playgroud)