Prawdopodobnie masz już dokument w swojej kolekcji, który ma notification: NULL
lub dokument, który nie ma ustawionego pola powiadomienia. Jeśli pole nie jest ustawione, jest traktowane jako puste. Ponieważ unikalny indeks dopuszcza tylko jedną wartość na pole, nie można mieć dwóch dokumentów, które nie mają ustawionego pola. Możesz to obejść, używając także sparse
opcja podczas tworzenia indeksu. Coś takiego powinno działać (po upuszczeniu już istniejącego indeksu na notification
:
self.db_database[co_name].ensure_index(('notification'),unique=True,sparse=True)
Zobacz też:rzadkie indeksy i wartości null w mongo