Dit gebeurt omdat je het gedupliceerde document opslaat vóór mongoose
is klaar met het maken van de index. Mongoose maakt de indexen onderweg, nadat je app is gestart.
Om er zeker van te zijn dat uw document pas wordt opgeslagen nadat de indexen zijn gemaakt, moet u luisteren naar de index
gebeurtenis van uw model. Bijvoorbeeld:
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();
});
})
});
Wanneer u nu het tweede document (het gedupliceerde document) probeert op te slaan, zal uw MongoDB een foutmelding geven, omdat uw save
oproepen worden gewoon uitgevoerd nadat de indexen zijn gemaakt.