sql >> Databáze >  >> NoSQL >> MongoDB

mangoose jedinečný:pravda, nefunguje

K tomu dochází, protože ukládáte duplicitní dokument před mongoose dokončil vytváření indexu. Mongoose vytváří indexy na cestách, po spuštění aplikace.

Aby bylo zajištěno, že váš dokument bude uložen až po vytvoření indexů, musíte si poslechnout index událost vašeho modelu. Například:

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

Nyní, když se pokusíte uložit druhý dokument (duplicitní), vaše MongoDB vyvolá chybu, protože vaše save volání budou spuštěna až po vytvoření indexů.




  1. Importujte více než 1 soubor json pomocí mongoimport

  2. Pochopení latence pomocí Redis-Cli

  3. Odstraňování problémů

  4. Jak uložím soubor do MongoDB?