node.js에서 mongodb를 비동기 적으로 쿼리 할 때이 문제점이 있습니다. 여기 내 코드가node.js와 mongodb의 비동기 데이터베이스 쿼리 처리
var values = [];
var positives = new Array();
var negatives = new Array();
var server1 = new mongodb.Server('localhost',27017, {auto_reconnect: true});
var db1 = new mongodb.Db('clicker', server1);
db1.open(function(err, db) {
if(!err) {
db1.collection('feedback', function(err, collection) {
for (var i=0;i <5; i++) {
collection.find(
{value:1},
{created_on:
{
$gte:startTime + (i*60*1000 - 30*1000),
$lt: startTime + (i*60*1000 + 30*1000)
}
},
function(err_positive, result_positive) {
result_positive.count(function(err, count){
console.log("Total matches: " + count);
positives[i] = count;
});
}
);
collection.find(
{value:0},
{created_on:
{
$gte:startTime + (i*60*1000 - 30*1000),
$lt: startTime + (i*60*1000 + 30*1000)
}
},
function(err_negative, result_negative) {
result_negative.count(function(err, count){
console.log("Total matches: " + count);
negatives[i] = count;
});
}
);
}
});
} else {
console.log('Error connecting to the database');
}
});
사실, 데이터베이스에서 일부 값을 가져 오려고합니다. 그리고 나서이 값들을 조작해야합니다. 그것은 단지 내가 양수 계산에서 음수를 뺀 다음 양수 음수로 값 배열을 초기화해야한다는 것입니다. 이제 결과가 비동기 적으로 얻어지기 때문에 어떻게 그 값을 조작하여 값 배열에 넣어야합니까?
간단한 제어 흐름이 어려워지는 것을 환영합니다. – usr