sql >> Base de Datos >  >> NoSQL >> MongoDB

Insertar en MongoDB a través de Node.js

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() {});
             }
         });
    });
});

Olvidaste hacer todo en tu open llamar de vuelta. Esto es importante, de lo contrario, su código se ejecuta antes de que se abra su conexión a la base de datos. Tienes que hacer todo de forma asíncrona. También es mejor crear la colección si no existe.

Eche un vistazo a los extensos ejemplos en la página de github

Ahora, esto parece un espagueti de devolución de llamada, por lo que usamos control de flujo como Step para hacerlo 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});
        }
    }
);