MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mangusta wyjątkowa:prawda nie działa

Dzieje się tak, ponieważ zapisujesz zduplikowany dokument przed mongoose zakończył tworzenie indeksu. Mongoose tworzy indeksy w ruchu, po uruchomieniu aplikacji.

Tak więc, aby mieć pewność, że Twój dokument zostanie zapisany dopiero po utworzeniu indeksów, musisz wysłuchać index wydarzenie Twojego modelu. Na przykład:

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

Teraz, gdy spróbujesz zapisać drugi dokument (ten zduplikowany), twoja MongoDB zgłosi błąd, ponieważ twój save połączenia będą uruchamiane po utworzeniu indeksów.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jaki jest najlepszy sposób przechowywania dat w MongoDB?

  2. Jak usunąć bazę danych za pomocą Mongoose?

  3. Mongo Query pytanie $gt,$lt

  4. Mongoose findOneAndUpdate Upsert _id null?

  5. Jak mogę uzyskać dostęp do MongoDB Meteor z innego klienta, gdy Meteor jest uruchomiony?