MongoDB计数集合Node.js

MrJ*_*ger 12 mongodb node.js

我试图通过Node.js与MongoDB接口,并且在count()方法上遇到了一些麻烦.我正在使用node-mongodb-native,它看起来像我正在做的应该工作.我的代码示例:

var get_total_num_docs = function(db_client, query, cb){
  db_client.collection(query['collection'], function(e, coll) {
    coll.find(query.params, query.options, function (e, cursor) {
      cursor.count(function (e, count) {
        console.log(count);
        return cb(e, count);
      });
    });
  });
};
Run Code Online (Sandbox Code Playgroud)

我确信一切都存在(aka coll和cursor都定义了),但它只有在我的query.params字段为空(即查找整个集合的计数)时才有效.因此,如果我尝试使用任何类型的选择器运行查找,查找工作,但它拒绝指望返回的光标.从我在网上看到的,这看起来是正确的方法,但显然有些不对劲.感谢您的帮助!

Ale*_*tic 24

如果您不需要游标,则应该像这样编写代码:

var get_total_num_docs = function(db_client, query, cb){
  db_client.collection(query['collection'], function(e, coll) {
    coll.find(query.params, query.options).count(function (e, count) {
      console.log(count);
      return cb(e, count);
    });
  });
};
Run Code Online (Sandbox Code Playgroud)