sql >> データベース >  >> NoSQL >> MongoDB

なぜDuplicateKeyError:E11000重複キーエラーインデックス:test.test。$ notify_1 dup key:{:null}

    おそらく、コレクションにnotification: NULLのいずれかのドキュメントが既にある可能性があります。 または、通知フィールドが設定されていないドキュメント。フィールドが設定されていない場合、それはnullと見なされます。一意のインデックスではフィールドごとに1つの値しか許可されないため、フィールドが設定されていない2つのドキュメントを作成することはできません。 sparseを使用することで、これを回避できます。 インデックス作成中のオプション。このようなものが機能するはずです(notificationに既存のインデックスを削除した後 :

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

    参照:mongoのスパースインデックスとnull値




    1. MongoDBドキュメントがDBREFの使用を推奨しないのはなぜですか?

    2. ネストされたドキュメントでMongoDbTTLは可能ですか?

    3. OSX10.11にmongo-php-driverをインストールできません

    4. nodejsとmongooseを使用して複数のJSONオブジェクトを取得するにはどうすればよいですか?