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参数,以便调用者知道查询是否有效。

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...