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

proč DuplicateKeyError:E11000 index chyby duplicitního klíče:test.test.$notification_1 dup key:{ :null }

Pravděpodobně již máte ve sbírce dokument, který má buď notification: NULL nebo dokument, který nemá nastaveno pole oznámení. Pokud pole není nastaveno, je považováno za nulové. Protože jedinečný index umožňuje pouze jednu hodnotu na pole, nemůžete mít dva dokumenty, které nemají sadu polí. Můžete to obejít také pomocí sparse možnost při vytváření indexu. Něco takového by mělo fungovat (po odstranění již existujícího indexu na notification :

self.db_database[co_name].ensure_index(('notification'),unique=True,sparse=True)

Viz také:řídké indexy a hodnoty null v mongo




  1. Dešifrujte chybu při připojování k mongo instanci hostované na <project>.meteor.com

  2. Jak zvýšit výkon Redis při 100% CPU? Sdílení? Nejrychlejší .Net klient?

  3. Operace dokumentů MongoDB jsou atomické a izolované, ale jsou konzistentní?

  4. Syntaxe MongoDB $pull