2014-04-13 64 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); 
});