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);
}
});
}
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);
}
});
}
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"