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

MongoDBのreplaceOne()とupdateOne()の違いは何ですか?

    replaceOne()を使用 updateOne()の間は、ドキュメント全体のみを置き換えることができます フィールドを更新できます。

    replaceOne()以降 ドキュメント全体を置き換えます-新しいドキュメントに含まれていない古いドキュメントのフィールドは失われます。 updateOne()を使用 古いドキュメントのフィールドを失うことなく、新しいフィールドを追加できます。

    たとえば、次のドキュメントがある場合:

    {
       "_id" : ObjectId("0123456789abcdef01234567"),
       "my_test_key3" : 3333
    }
    

    使用:

    replaceOne({"_id" : ObjectId("0123456789abcdef01234567")}, { "my_test_key4" : 4})
    

    結果:

    {
       "_id" : ObjectId("0123456789abcdef01234567"),
       "my_test_key4" : 4.0
    }
    

    使用:

    updateOne({"_id" : ObjectId("0123456789abcdef01234567")}, {$set: { "my_test_key4" : 4}})
    

    結果:

    {
       "_id" : ObjectId("0123456789abcdef01234567"),
       "my_test_key3" : 3333.0,
       "my_test_key4" : 4.0
    }
    

    updateOne()を使用することに注意してください ドキュメントで更新演算子を使用できます。



    1. すべてのセッションIDをRedisドライバーでLaravelする

    2. PostgresとHasuraでのCouchDBスタイルの同期と競合解決

    3. MongoDBでデータベースとコレクションを管理する方法

    4. リモートmongodbをpymongoに接続する方法