MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongoose document.save ne fonctionne pas

Supprimez le process.exit() partie, ou enveloppez-la dans un délai d'attente. Vous ne donnez pas assez de temps à votre base de données pour s'exécuter. Par exemple. placez ceci à la fin :

...
setTimeout(() => process.exit(0), 2000); 

Modifier :ou ajouter des promesses, comme quelqu'un l'a commenté :

exports.addUser = function(user, password) {
  var data = new User({ _id: user, password: password });
  return data.save()
  .then(() => console.log('User ' + user + ' added'))
  .catch(function(error) {
    console.log('ERROR: ' + error);
    else {  return false; }
 });  
};

Puis dans votre boucle principale :

const promises = users.map(userData => addUser(userData));
Promise.all(promises)
.then(() => {
  console.log('All users added.');
  // .. do another async operation here, or process.exit();
});