MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

pourquoi DuplicateKeyError :index d'erreur de clé en double E11000 :test.test.$notification_1 clé en double :{ :null }

Vous avez probablement déjà un document dans votre collection qui a soit une notification: NULL ou un document dont le champ de notification n'est pas défini. Si un champ n'est pas défini, il est alors considéré comme nul. Étant donné qu'un index unique n'autorise qu'une seule valeur par champ, vous ne pouvez pas avoir deux documents qui n'ont pas de champ défini. Vous pouvez contourner ce problème en utilisant également le sparse lors de la création d'un index. Quelque chose comme ça devrait fonctionner (après avoir supprimé l'index déjà existant sur notification :

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

Voir aussi :index clairsemés et valeurs nulles dans mongo