sql >> Database teknologi >  >> NoSQL >> MongoDB

mongoose unikke:sandt ikke arbejde

Dette sker, fordi du gemmer det duplikerede dokument før mongoose er færdig med at oprette indekset. Mongoose opretter indekserne på farten, efter din app er startet.

Så for at sikre, at dit dokument først bliver gemt, efter at indekserne er oprettet, skal du lytte til index din models begivenhed. For eksempel:

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 forsøger at gemme det andet dokument (det duplikerede), vil din MongoDB rejse en fejl, fordi din save opkald vil bare køre efter indekserne blev oprettet.




  1. MongoDB tæller særskilt værdi?

  2. redis:nulstil tæller hver dag

  3. Skæring af to eller flere sorterede sæt

  4. Kæmpe forsinkelse ved brug af Selleri + Redis