Bạn có thể đã có một tài liệu trong bộ sưu tập của mình có notification: NULL
hoặc tài liệu chưa đặt trường thông báo. Nếu một trường không được đặt, thì nó được coi là null. Bởi vì một chỉ mục duy nhất chỉ cho phép một giá trị cho mỗi trường, bạn không thể có hai tài liệu không có bộ trường. Bạn cũng có thể giải quyết vấn đề này bằng cách sử dụng sparse
trong khi tạo chỉ mục. Một cái gì đó như thế này sẽ hoạt động (sau khi giảm chỉ mục đã tồn tại trên notification
:
self.db_database[co_name].ensure_index(('notification'),unique=True,sparse=True)
Xem thêm: chỉ mục thưa thớt và giá trị rỗng trong mongo