Qualquer método de driver MongoDB que acesse os dados no banco de dados (como
count
e toArray
), fornecem seus resultados ao chamador de forma assíncrona por meio de um parâmetro de função de retorno de chamada, em vez de um valor de retorno, para que eles não bloqueiem o encadeamento node.js único. Então o cheque ficaria assim:
collection.count(function (err, count) {
if (!err && count === 0) {
populateDB();
}
});