微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – 如何获取MongoDB的回调collection.find()

当我在MongoDB / Node / Express中运行collection.find()时,我希望在完成后得到回调。这是什么正确的语法?

function (id,callback) {

    var o_id = new BSON.ObjectID(id);

    db.open(function(err,db){
      db.collection('users',function(err,collection){
        collection.find({'_id':o_id},results){  //What's the correct callback synatax here?
          db.close();
          callback(results);
        }) //find
      }) //collection
    }); //open
  }

解决方法

这是正确的回调语法,但是什么查找提供给回调是一个 Cursor,而不是一个文件数组。所以如果您希望您的回调将结果提供为一系列文档,请将查找更改为:

collection.find({'_id':o_id},cursor){
    cursor.toArray(callback);
    db.close();
});

请注意,您的函数的回调仍然需要提供一个err参数,以便调用者知道查询是否有效。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐