平均值:从mongodb获取总价值
我是新来的,我使用mongoskin连接到mongodb..我试图获取数据库中存在的总值平均值:从mongodb获取总价值,mongodb,mean-stack,Mongodb,Mean Stack,我是新来的,我使用mongoskin连接到mongodb..我试图获取数据库中存在的总值 function getTotal() { var deferred = Q.defer(); var dashboard = db.collection('dashboard'); db.collection('dashboard').find({"iscorrect" : ""}).count(), function (err, doc) { if (e
function getTotal() {
var deferred = Q.defer();
var dashboard = db.collection('dashboard');
db.collection('dashboard').find({"iscorrect" : ""}).count(),
function (err, doc) {
if (err){
deferred.reject(err);
} else{
deferred.resolve();
}
};
return deferred.promise;
}
我的主控制器
function gettotal(req, res) {
userService.getTotal()
.then(function () {
res.sendStatus(200);
})
.catch(function (err) {
res.status(400).send(err);
});
}
下面的代码不返回任何值…获取总值的任何帮助都是有用的
因为方法是异步的,并且返回一个承诺,所以您可以使用回调函数将函数重新构造为
function getTotal() {
var deferred = Q.defer();
db.collection('dashboard').count({"iscorrect" : ""}, function (err, result) {
if (err){
deferred.reject(err);
} else{
deferred.resolve(result);
}
});
return deferred.promise;
}
或者既然回报了承诺,就回报它吧
function getTotal() {
// just return a Promise
return db.collection('dashboard').count({"iscorrect" : ""});
}
在控制器中:
function gettotal(req, res) {
userService.getTotal()
.then(function (count) {
res.status(200).json({ 'count': count });
})
.catch(function (err) {
res.status(400).send(err);
});
}