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

DuplicateKeyExceptionをスローするMongodbアップサート

    私が推測している問題は次のようになっている可能性があります:

    あなたは多くの基準に基づいて検索操作を行っています。つまり、(基準内の)パラメータの不一致が原因で失敗した場合、ドキュメントを挿入しようとします。

    したがって、同じドキュメントを同じ_idで更新しようとしているが、他の条件の一部が一致していないために再度挿入され、重複キーの例外が発生する可能性があります。以下の例を検討してください

    test:Mongo > db.example.update({ _id : 1, a : 1, b : 1},{ $set : {d : 1}}, true, false)
    test:Mongo > db.example.find()
    { "_id" : 1, "a" : 1, "b" : 1, "d" : 1 }
    test:Mongo > db.example.update({ _id : 1, a : 1, b : 2},{ $set : {d : 1}}, true, false)
    E11000 duplicate key error index: test.example.$_id_  dup key: { : 1.0 }
    



    1. Redisはinit.dで手動で起動しますが、起動時には起動しません

    2. メモリが不足した場合、Redisは何をしますか?

    3. mongorestoreを使用してMongoDBデータベースを復元する

    4. MongoCommandException:コマンドがエラー8000で失敗しました(AtlasError):'SNI名が送信されていません。必ず、MongoDB3.4以降のドライバー/シェルを使用してください。'