3

我正在使用 NodeJs 和本机 MongoDB 驱动程序来创建应用程序。我想确保是否存在具有特定条件的记录,并且我想知道哪种方法更好?

collection.find({...}).count(function(err, count){
    if(count > 0) {
       //blah blah
    }
})

或者

collection.findOne({...}, function(err, object){
    //blah blah
})
4

1 回答 1

1

看到这个问题。我相信findlimit(1)你的情况下是可行的。(如果您想通过查询获取实际文档数据,请使用findOne)。

就 而言mongodb-native,代码看起来像这样

function recordExists(selector, callback) {
  collection.find(selector, {limit: 1}, function(err, cursor) {
    if (err) return callback(err);
    cursor.count(function(err, cnt) {
      return callback(err, !!cnt);
    });
  });
}


我对此有点困惑:collection.find({...}).count。本机驱动程序允许这样做吗?是cursor.count吗?不管怎样,limit你的朋友在吗?

于 2012-07-09T18:28:05.983 回答