Node.js Mongodb计数问题,对象
我有一个node.js服务器,它调用一个需要查询Mongodb数据库的函数Node.js Mongodb计数问题,对象,node.js,mongodb,express,pug,Node.js,Mongodb,Express,Pug,我有一个node.js服务器,它调用一个需要查询Mongodb数据库的函数 exports.zonetotal = function(db) { return function(req, res) { var inZone1 = 2; inZone1 = db.collection('driveby').count(); var items = [ {"zone":"1" , "number":inZone1} ]; { res.json(it
exports.zonetotal = function(db) {
return function(req, res) {
var inZone1 = 2;
inZone1 = db.collection('driveby').count();
var items = [
{"zone":"1" , "number":inZone1}
];
{
res.json(items);
}
}
};
当我尝试使用这个函数并在网页上的表格中显示结果时,我只得到一个表示object的结果。如果我只说VarInZone1=2;然后显示数字,因此我不认为这是我试图发送数据的方式的问题,我认为这是查询的问题。任何想法,谢谢。collection.count()是异步的。您需要提供执行渲染的回调。看见只需在回调中移动格式副本代码,如下所示:
db.collection('driveby').count({zone:1}, function(err, count) {
console.log(count + "records in db");
console.log("There are " + count + " records in db");
var items = [ {"zone":"1" , "number":count} ];
res.json(items);
});
节点MongoDB驱动程序是异步的,因此您需要将回调传递给“count”,并在回调中执行res.json:
您的意思是在console.log中正确记录响应?但是,如果您在已解析的对象上使用JSON.stringify,您认为实际响应是什么呢?我将如何在回调中传递回调?