sql >> Database >  >> NoSQL >> MongoDB

mangoest uniek:waar niet werken

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.




  1. Selderij taak altijd IN AFWACHTING

  2. MongoError:kon geen verbinding maken met de server bij de eerste verbinding

  3. Er treedt een time-out op bij de Google Cloud-functie bij het verbinden met Redis op het interne IP-adres van Compute Engine

  4. Mongoose limiet/offset en telling query