possível inicializar exportações de forma assíncrona em um módulo node.js

omo o acesso e a inicialização do banco de dados MongoDB são assíncronos no Node.js, eu gostaria de definir um módulo por coleção que exporte chamadas db agrupadas após a inicialização do d

Esse módulo "Cars.model.js" é assim:

var db = require("mongodb");
db.collection("cars", function(err, col) {
    exports.getCars = function(callback) {
        col.find({}, callback);
    };
});

para que outros módulos possam executar:

var carModel = require("Cars.model.js").getCars;
getCars(err, cars) {
    // (do something with cars here...)
};

Aconteceu comigo quegetCars foi indefinido, porque o acesso ao banco de dados ainda não foi inicializado no momento em que meu segundo módulo foi executad

Como você lida com a criação de modelos db assíncrono

questionAnswers(3)

yourAnswerToTheQuestion