sql >> Databasteknik >  >> NoSQL >> MongoDB

mongoose unik:sant fungerar inte

Detta händer eftersom du sparar det dubblerade dokumentet före mongoose har skapat indexet. Mongoose skapar indexen när du är på språng efter att din app har startat.

Så för att säkerställa att ditt dokument kommer att sparas först efter att indexen skapats, måste du lyssna på index händelse av din modell. Till exempel:

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();
    });
  })
});

Nu, när du försöker spara det andra dokumentet (det duplicerade), kommer din MongoDB att visa ett felmeddelande, eftersom din save anrop kommer bara att köras efter att indexen har skapats.




  1. Skriptet försökte skapa en global variabel

  2. db.collection är inte en funktion när du använder MongoClient v3.0

  3. MongoDB forEach()

  4. Exportera en MongoDB-samling till en JSON-fil