Dies geschieht, weil Sie das duplizierte Dokument vor mongoose
speichern hat die Erstellung des Index abgeschlossen. Mongoose erstellt die Indizes unterwegs, nachdem Ihre App gestartet wurde.
Um sicherzustellen, dass Ihr Dokument erst gespeichert wird, nachdem die Indizes erstellt wurden, müssen Sie sich den index
anhören Veranstaltung Ihres Modells. Zum Beispiel:
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();
});
})
});
Wenn Sie nun versuchen, das zweite Dokument (das duplizierte) zu speichern, löst Ihre MongoDB einen Fehler aus, weil Ihr save
Aufrufe werden nur ausgeführt, nachdem die Indizes erstellt wurden.