无法计入mongodb collection.find

时间:2013-03-12 12:05:10

标签: node.js mongodb mongoose

我正在使用mongoose ODM作为应用程序。我正在尝试计算像这样的模型返回的项目数:

 app.post("/verifyLogin",function(request,response){
var usr=request.body.username;
var pass=request.body.password;

response.send(userModel.find({$and:[{username:"admin"},{password:"admin"}]}).count());

});

但我得到了回报:

   {
  "options": {
    "populate": {}
  },
  "_conditions": {
    "$and": [
      {
        "username": "admin"
      },
      {
        "password": "admin"
      }
    ]
  },
  "_updateArg": {},
  "op": "count"
}

我期待一个数字:(

1 个答案:

答案 0 :(得分:1)

这样做的一种方法是使用Model.count方法,在您的情况下:

userModel.count({$and:[{username:"admin"},{password:"admin"}]}, function(err, result) {
    if (err) {
       //handle errors
    } else {
       response.send({count :result});
    }
});

另外:你在node.js世界 - 使用回调。

您现在获得的结果是count调用Model.find()结果(我认为是查询对象)的结果,而不是查询结果的计数。< / p>