MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

mongoose document.save funktioniert nicht

Entfernen Sie process.exit() Teil, oder wickeln Sie es in ein Timeout ein. Sie geben Ihrer Datenbank nicht genügend Zeit zum Ausführen. Z.B. Setzen Sie stattdessen dies an das Ende:

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

Bearbeiten:oder Versprechungen hinzufügen, wie jemand kommentiert:

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

Dann in Ihrer Hauptschleife:

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