Dzieje się tak, ponieważ zapisujesz zduplikowany dokument przed mongoose
zakończył tworzenie indeksu. Mongoose tworzy indeksy w ruchu, po uruchomieniu aplikacji.
Tak więc, aby mieć pewność, że Twój dokument zostanie zapisany dopiero po utworzeniu indeksów, musisz wysłuchać index
wydarzenie Twojego modelu. Na przykład:
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();
});
})
});
Teraz, gdy spróbujesz zapisać drugi dokument (ten zduplikowany), twoja MongoDB zgłosi błąd, ponieważ twój save
połączenia będą uruchamiane po utworzeniu indeksów.