MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

porque DuplicateKeyError:E11000 índice de erro de chave duplicada:test.test.$notification_1 chave duplicada:{ :null }


Você provavelmente já tem um documento em sua coleção que tem notification: NULL ou um documento que não tenha o campo de notificação definido. Se um campo não estiver definido, ele será considerado nulo. Como um índice exclusivo permite apenas um valor por campo, você não pode ter dois documentos que não tenham um conjunto de campos. Você pode contornar isso também usando o sparse opção ao criar um índice. Algo assim deve funcionar (depois de descartar o índice já existente na notification :
self.db_database[co_name].ensure_index(('notification'),unique=True,sparse=True)

Veja também:índices esparsos e valores nulos no mongo