2014-04-13 106 views
0

我有一个node.js服务器,它调用一个需要查询Mongodb数据库的函数。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(items); 
    } 
    } 
}; 

当我尝试使用此函数并在网页上的表中显示结果时,我只是得到一个表示对象对象的结果。如果我只是说var inZone1 = 2;然后数字显示,所以我不认为这是我试图发送数据的方式的问题,我认为这是查询的问题。任何想法,谢谢。

+0

你的意思是当你console.log的回应权吗?但是,你认为什么是实际响应,或者如果你使用解析对象的JSON.stringify呢? –

回答

0

collection.count()是异步的。您需要提供执行渲染的回调。请参阅this。只要将您的人丁代码回调里面,像这样:

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); 
});