如何返回查詢返回的文檔數? 我有一個路由文件,它有以下代碼:在NodeJS中使用貓鼬返回文檔數
router.post('/facebookLogin', function(req, res, next){
var User=require('../models/user');
var a=User.facebookUserExist(req.body.id, req.body.email);
console.log(a);
res.end();
});
這裏是用戶模型文件的內容:
var User=function(data){
this.data=data;
}
User.prototype.data={};
User.prototype.facebookUserExist=function(id, email){
var output;
db.collection('users').find({
$or:[
{
facebookID:id
},
{
email:email
}
]
}).count(function(err, numOfDocs){
output=numOfDocs;
});
return output;
}
module.exports=new User;
餘設置的輸出變量的值的計數方法回調,但該函數仍然返回undefined。
1.你不需要使用'find'和'count',你可以用同樣的過濾器使用'count'。 2.您使用回調方法作爲異步方法,這就是爲什麼你會得到未定義的。 – TomG