0

我刚刚安装了最新版本的 node.js 和 MongoDB 以及 node.js 的驱动程序:MongoJS

现在我试图找出(由于高负载应用程序性能良好)数据库中是否存在记录。我试过这个查询,但我得到的只是一个错误:

var query = db.users.find({ nickname: 'test' }).limit(1);
console.log(query.size());
// or also
// console.log(query.length); 
// => undefinied

错误:

TypeError: Object [object Object] has no method 'size'

通过console.log(typeof query)我刚刚得到object

如果我只是登录query,我会得到:

{ _readableState:
    { highWaterMark: 16384,
      buffer: [],
      length: 0,
      pipes: null,
      pipesCount: 0,
      flowing: false,
      ended: false,
      endEmitted: false,
      reading: false,
      calledRead: false,
      sync: true,
      needReadable: false,
      emittedReadable: false,
      readableListening: false,
      objectMode: true,
      ranOut: false,
      awaitDrain: 0,
      readingMore: false,
      decoder: null }
  readable: true,
  domain: null,
  _events: {},
  _maxListeners: 10,
  _get: [Function] }

我总是得到这个结果,即使该项目存在与否。

4

1 回答 1

0

我在当前文档中没有看到任何提及size方法。相反,虽然也可以在这里工作,但您可以使用它来执行此操作:countfindOne

db.users.findOne({ nickname: 'test' }, function(err, doc) {
    if (doc) {
        // At least one matching doc exists
    } else {
        // No match found
    }
});
于 2013-05-05T15:07:20.273 回答