请教一个node.js查询MongoDB报错问题
Status.get = function get(query, callback) {
mongodb.open(function(err, db) {
if(err) {
return callback(err);
}
db.collection('Status', function(err, collection) {
if(err) {
mongodb.close();
return callback(err);
}
collection.aggregate({$match:query}, {$group:{_id:"$result", cnt:{$sum:1}}}, function(err, docs) {
mongodb.close();
console.log(docs); //此处没问题,输出的是一个object,其实是个数组
callback(null, docs); //只要有这句话就报错TypeError, number if not a function
});
});
});
};
请问这个错误到底是什么造成的,现在无法返回查询结果。
7 回复
是不是callback有问题?
是的,就是callback的问题,但是我不知道哪里出了问题。o(╯□╰)o
@jie414341055你的callback怎么写的啊?
@UlricGan代码就是上边那部分,其他类似函数也是这样都没问题,只是查询方式不同,只有这个有问题。
@UlricGan我输出了一下typeof callback,发现是个number,这是个什么情况o(╯□╰)o
@UlricGan问题解决了,函数调用的时候手残了= =多谢关注。
@jie414341055不客气~