sql >> Database >  >> NoSQL >> MongoDB

waarom DuplicateKeyError:E11000 dubbele sleutel fout index:test.test.$notification_1 dup sleutel:{:null}

U heeft waarschijnlijk al een document in uw verzameling met een notification: NULL of een document waarvoor het meldingsveld niet is ingesteld. Als een veld niet is ingesteld, wordt het als null beschouwd. Omdat een unieke index slechts één waarde per veld toestaat, kunt u geen twee documenten hebben die geen veldenset hebben. Je kunt dit omzeilen door ook de sparse . te gebruiken optie tijdens het maken van een index. Zoiets zou moeten werken (na het verwijderen van de reeds bestaande index op notification :

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

Zie ook:sparse indexen en null-waarden in mongo




  1. Hoe selderijtaak pauzeren of hervatten?

  2. Sorteren op virtueel veld in mongoDB (mangoest)

  3. Ingesloten documenteigenschap bijwerken in Mongodb

  4. Vraag het stringtype Datum in mongodb