sql >> Databasteknik >  >> NoSQL >> MongoDB

varför DuplicateKeyError:E11000 duplicate key error index:test.test.$notification_1 dup key:{ :null }

Du har förmodligen redan ett dokument i din samling som antingen har notification: NULL eller ett dokument som inte har aviseringsfältet inställt. Om ett fält inte är inställt, betraktas det som null. Eftersom ett unikt index bara tillåter ett värde per fält, kan du inte ha två dokument som inte har en fältuppsättning. Du kan komma runt detta genom att även använda sparse alternativet när du skapar ett index. Något liknande detta borde fungera (efter att ha släppt det redan befintliga indexet på notification :

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

Se även:glesa index och nollvärden i mongo




  1. Generering av autogenerering av _id vs ObjectId i MongoDB

  2. Mongoose:Hur befolkar man en djup befolkning på två nivåer utan att befolka fält på första nivån? i mongodb

  3. Hur skapar man ett kapslat index i MongoDB?

  4. Mongo tar bort dubbletter i en rad objekt baserat på fält