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() {});
}
});
});
});
Sie haben vergessen, alles in Ihrem open
zu tun zurückrufen. Dies ist wichtig, da sonst Ihr Code ausgeführt wird, bevor Ihre Verbindung zur Datenbank geöffnet ist. Du musst alles asynchron machen. Es ist auch am besten, die Sammlung zu erstellen, wenn sie nicht vorhanden ist.
Sehen Sie sich die ausführlichen Beispiele auf der github-Seite an
Das sieht jetzt aus wie Callback-Spaghetti, also verwenden wir Flowcontrol wie Step
um es hübsch zu machen.
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});
}
}
);