web-dev-qa-db-fra.com

MongoDB 'sockets serveur' & aucun correctif trouvé

hier, j'ai commencé à utiliser le pilote javascript MongoDB.

J'ai rencontré un problème, une erreur persiste, cependant, les données sont toujours en cours de stockage.

Vous trouverez ci-dessous le code javascript que j'utilise pour me connecter initialement à la base de données, puis une requête d'insertion est lancée .

Connecté correctement au serveur

Déconnecté du serveur avec succès

Mais lors de l'exécution avec la requête d'insertion, une erreur est renvoyée.

Connecté correctement au serveur

{ [MongoError: server localhost:27017 sockets closed] name: 'MongoError',

message: 'server localhost:27017 sockets closed'}

Déconnecté du serveur avec succès

Est-ce que quelqu'un pourrait me diriger dans la bonne direction?

MongoClient.connect(db_default.db_url, function(err, db) {
    console.log('Connected correctly to server');
    if(err) {
        console.log(err);
    }
    else {
         mongoInsert(db, 'user', user_default, function(user_res) { 
            console.log(user_res);
        });
    }
    db.close();
    console.log('Disconnected from server successfully');
});

function mongoInsert(db, collection_name, data,cb) {
    var collection = db.collection(collection_name);
    collection.insert(data, function(err, res) {
        if(err) {
            console.log(err);
        }
        else {
            console.log('Inserted into the ' + collection_name + ' collection');
            cb(res);
        }
    });
}
26
Luke Bennett

Ne fermez pas la connexion à la base de données avant de recevoir les résultats. Faites comme suit:

MongoClient.connect(db_default.db_url, function(err, db) {
    if(err) {
        console.log(err);
    }
    else {
         mongoInsert(db, 'user', user_default, function(user_res) { 
            console.log(user_res);
            db.close();
        });
    }

    console.log('Disconnected from server successfully');
});

function mongoInsert(db, collection_name, data,cb) {
    var collection = db.collection(collection_name);
    collection.insert(data, function(err, res) {
        if(err) {
            console.log(err);
        }
        else {
            console.log('Inserted into the ' + collection_name + ' collection');
            cb(res);
        }
    });
}
49
Hamed Ghasemzadeh

J'ai enfin trouvé la solution. Le problème était la sécurité des fichiers sur le nouveau serveur et les fichiers mongdb npm. Je devais utiliser la commande "chown" pour posséder tous les fichiers, puis exécuter "npm install"

0
Pink Panther