我正在使用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"
}
我期待一个数字:(
答案 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>