db.open(function(err, client){
client.createCollection("docs", function(err, col) {
client.collection("docs", function(err, col) {
for (var i = 0; i < 100; i++) {
col.insert({c:i}, function() {});
}
});
});
});
Você esqueceu de fazer tudo em seu
open
ligue de volta. Isso é importante, caso contrário, seu código será executado antes que sua conexão com o banco de dados seja aberta. Você tem que fazer tudo assíncrono. Também é melhor criar a coleção se ela não existir. Dê uma olhada nos exemplos extensos na página do github
Agora isso se parece com espaguete de retorno de chamada, então usamos o controle de fluxo como
Step
para torná-lo bonito. Step(
function() {
db.open(this);
},
function(err, client) {
client.createCollection("docs", this);
},
function(err, col) {
for (var i = 0; i < 100; i++) {
col.insert({c:i});
}
}
);