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() {});
}
});
});
});
Bạn đã quên làm mọi thứ trong open
của mình gọi lại. Điều này rất quan trọng nếu không mã của bạn sẽ chạy trước khi kết nối của bạn với cơ sở dữ liệu được mở. Bạn phải làm mọi thứ không đồng bộ. Tốt nhất bạn nên tạo bộ sưu tập nếu nó không tồn tại.
Hãy xem các ví dụ mở rộng tại trang github
Bây giờ điều này trông giống như gọi lại spaghetti, vì vậy chúng tôi sử dụng điều khiển luồng như Step
để làm cho nó đẹp.
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});
}
}
);