连接不关闭mongodb

时间:2016-09-10 22:57:40

标签: javascript mongodb mongodb-query

需要一些帮助。无法关闭连接。关闭时,结果将返回undefined

function(table, where, to_select, callback) {
    db.open(function(err, db) {
        assert.equal(null, err);
        if (!err) {
            collection = db.collection(table);
            collection.find(where, to_select).toArray(function(err, resp) { console.log(resp); //returns undefined
                callback(err,resp); 
            })
        } else {
            callback(err);
        }     
        db.close();
    });
}

1 个答案:

答案 0 :(得分:3)

在查询仍在处理时,过早关闭数据库。因此,推迟关闭连接,直到您的查询完成,并且您在回调中得到结果,如此

function(table, where, to_select, callback) {
    db.open(function(err, db) {
        assert.equal(null, err);
        if (!err) {
            collection = db.collection(table);
            collection.find(where, to_select).toArray(function(err, resp) { console.log(resp); //returns undefined
                db.close();                    
                callback(err,resp);     
            })
        } else {
            callback(err);
            db.close();
        }     
    });
}