Обработка асинхронных запросов к базе данных в node.js и mongodb

У меня есть эта проблема с асинхронным запросом mongodb из node.js. Вот мой код

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

});

На самом деле, я пытаюсь получить некоторые значения из базы данных. И тогда мне нужно манипулировать этими ценностями. Просто мне нужно вычесть отрицательное число из положительного, а затем инициализировать массив значений положительным-отрицательным числом. Теперь, поскольку результаты получены асинхронно. Как я должен манипулировать этими значениями и поместить их в массив значений.

Ответы на вопрос(1)

Ваш ответ на вопрос