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

mangouste unique :vrai ne fonctionne pas

Cela se produit parce que vous enregistrez le document dupliqué avant mongoose a fini de créer l'index. Mongoose crée les index lors de vos déplacements, après le démarrage de votre application.

Ainsi, pour vous assurer que votre document ne sera enregistré qu'après la création des index, vous devez écouter le index événement de votre modèle. Par exemple :

Model.on('index', function (error) {
  console.log(jp);
  jp.save(function(err){
    console.log(err);
    var jp2 = new Model({ phone: "123456"});
    console.log(jp2);
    jp2.save(function(err){
      console.log(err);
      process.exit();
    });
  })
});

Désormais, lorsque vous essayez d'enregistrer le deuxième document (celui dupliqué), votre MongoDB génère une erreur, car votre save les appels s'exécuteront juste après la création des index.