好的,我認爲如果我複製整個node.js路由,以便看到我在說什麼,就會更容易。在NodeJS中存儲來自多個MongoDB查詢的數據
我想對我的MongoDB數據庫(每天一個)進行多個查詢。查詢運行良好,但是當他們觸發回調時,我的增量變量已經遞增。
因此,對於這個:
exports.graph = function(req, res) {
function pad(num, size) {
var s = num+"";
while (s.length < size) s = "0" + s;
return s;
}
database.collection('customerData', function(err, collection) {
for (var i = 2; i < 18; i++) {
sDay = pad(i, 2);
eDay = pad(i + 1, 2);
collection.find({
DATE: {
$gte: sDay + 'APR13:00:00:00',
$lt: eDay + 'APR13:00:00:00'
}
}, function(err, cursor){
cursor.toArray(function(err, data){
var counter = 0;
for (var point in data) {
trans = parseInt(data[point].Total_Transaction * 100);
counter += trans;
}
console.log(i, counter/100);
});
});
}
});
}
我得到這樣的輸出:
18 22023.29
18 24483.03
18 22644.11
18 23194.31
18 21560.99
18 23024.32
18 24384.93
18 23138.34
18 24400.63
18 28418.6
18 31691.65
18 31111.62
18 42358.74
18 38355.76
18 36787.52
18 42870.19
18 22023.29
18 22644.11
18 24483.03
18 23194.31
18 21560.99
18 23024.32
18 24400.63
18 23138.34
18 24384.93
18 28418.6
18 31691.65
18 31111.62
18 42358.74
18 38355.76
18 36787.52
18 42870.19
這個(顯然)不ideal-數字不一定回來的順序查詢被解僱,所以我很重要的是要弄清楚哪些地方在哪裏。
我找不出一種方法將我的算術結果以有意義的方式存儲在查詢回調中,以便稍後使用它。
有什麼想法?
這是完美的。謝謝! – 2013-05-12 06:03:21