【问题标题】:Confused about node-mongodb-native syntax对 node-mongodb-native 语法感到困惑
【发布时间】:2012-10-19 11:45:34
【问题描述】:

我刚刚进入node和mongodb,遇到了第一个障碍。

我正在浏览一个代码如下所示的教程:

var db = new mongo.Db("database", new mongo.Server(host, port, {}));
db.open(function(error){
  db.collection("user", function(err, collection){
    collection.find({"id":"1"}, function(error, cursor){
      cursor.toArray(function(err, users){
        if(users.length == 0){
          console.log("no such user");
        } else if {
          console.log("user found: ", users[0]);
        }
     });
   });
 });

但是代码无法运行,说 users 为空。 (我确实有一个插入条目的代码)无论如何,在试图弄清楚发生了什么时,我遇到了文档,它使用同步模式进行 find 而不是使用回调来检索光标。代码是这样的:

var cursor = collection.find({"id":"1"});

事实上,我在文档中找不到任何地方提到 find 的用法和返回光标的回调。我真的很困惑。教程过时了吗?这段代码有什么问题?

【问题讨论】:

    标签: node.js mongodb node-mongodb-native


    【解决方案1】:

    如果usersnull,那么err 很可能表明问题所在。将if (err) 路径添加到您的代码以在设置时记录err

    find 可以以您描述的两种方式工作。回调参数是可选的,如果你不提供它,你可以使用返回的游标。请参阅文档:link

    【讨论】:

      猜你喜欢
      • 2023-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-26
      • 1970-01-01
      • 1970-01-01
      • 2016-12-27
      • 1970-01-01
      相关资源
      最近更新 更多