Mysql Node.js MongoDB-collection.find().toArray(回调)无法执行

Mysql Node.js MongoDB-collection.find().toArray(回调)无法执行,mysql,node.js,mongodb,Mysql,Node.js,Mongodb,我想从MongoDB读取数据并将其写入MySQL。 Mongo中有这么多行,我认为应该使用每一行将它们插入MySQL,但我不知道我是否正确 我的代码如下: MongoClient.connect('mongodb://localhost:27017/test', function(err, db) { console.log(Date() + "mongoDb connect success"); async.parallel([ function() {

我想从MongoDB读取数据并将其写入MySQL。 Mongo中有这么多行,我认为应该使用每一行将它们插入MySQL,但我不知道我是否正确

我的代码如下:

MongoClient.connect('mongodb://localhost:27017/test', function(err, db) {
    console.log(Date() + "mongoDb connect success");

    async.parallel([
        function() {
            conn.query(selectAllOrders, function(error, rows, fields) {
                if (error)
                    console.log(Date() + 'error');

                console.log(Date() + ' row length:', rows.length);
                async.eachSeries(rows, function(order) {
                    findTakerLocus(db, 'position_2015_06_15', {}, function(res) {
                        console.log(res);
                    });

                }, function(error) {
                    console.log(Date() + 'error:' + error);
                });

                console.log(Date() + 'you are not right');
            });
        },
        function() {
            db.close();
            console.log(Date() + 'mongoDb关闭连接');
            conn.end();
            console.log(Date() + 'mysql 连接关闭');
        }
    ], function(err, results) {
        log('1.1 err: ', err);
        log('1.1 results: ', results);
    });

});

var findTakerLocus = function(db, collectionName, key, callback) {
    var collection = db.collection(collectionName);

    collection.find(key).toArray(function(err, docs) {
        console.log(' excute callback');
        callback(docs);
    });
}

尝试检查mongo db connection回调中的错误。您正在并行运行两个函数。第一个函数运行查询以查找所需的数据,但第二个函数运行异步查询。parallel()调用将立即关闭数据库连接。另外,由于没有在函数中使用回调,所以并行调用也不知道异步库的使用方式何时完成