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

MongoDB — Dlaczego indeks _id nie wyświetla błędu w przypadku zduplikowanych wpisów?

Nie ma powodu, aby wyświetlać błąd zduplikowanego indeksu w pierwszym przypadku, ponieważ po prostu próbuje zaktualizować _id i name pola tego samego rekordu o tej samej wartości.

Jeśli spróbujesz

  db.foo.update({ _id: '1098'}, { _id: 'doe123', name: 'John Doe'}, { upsert: true});

otrzymasz błąd, ponieważ zapytanie próbuje zaktualizować rekord z innym _id z pewnym istniejącym _id wartość.

W drugim przypadku najpierw utworzyłeś rekord z name a następnie próbujesz zaktualizować tę samą nazwę w innym rekordzie, co spowoduje błąd jako name jest unikalnym indeksem.

Edytuj :-

Jeśli próbujesz

 db.foo.insert({ _id: 'doe123', name: 'John Doe'});

wyświetli błąd, ponieważ w tym przypadku próbujesz wstawić rekord, który jest już obecny, tj. _id jest unikalny i próbujesz utworzyć jeszcze jeden rekord z tym samym _id wartość.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Używanie @Resource injection dla Mongo db, wewnątrz Web Bundle wewnątrz OSGI, pod Liberty Profile

  2. Mongoose konwertuje zapisane daty UTC na czas lokalny?

  3. Przykładowe operatory MongoDB

  4. Czy istnieje obsługa sterownika mongodb C# System.Dynamic.DynamicObject w .NET 4?

  5. Rozszyfruj błąd podczas łączenia się z instancją mongo hostowaną na <project>.meteor.com