insert()、insertOne()、insertMany() メソッドの違いは何ですか? 質問する

insert()、insertOne()、insertMany() メソッドの違いは何ですか? 質問する

insert()MongoDB の、、insertOne()およびメソッドの違いは何ですかinsertMany()。それぞれどのような状況で使用すればよいですか?

ドキュメントを読みましたが、それぞれをいつ使用すればよいのかが明確ではありません。

ベストアンサー1

MongoDB の insert()、insertOne()、insertMany() メソッドの違いは何ですか?

  • db.collection.insert()ドキュメントに記載されているように、コレクションにドキュメントを挿入し、書き込み結果単一挿入用のオブジェクトと一括書き込み結果一括挿入用のオブジェクト。

    > var d = db.collection.insert({"b": 3})
    > d
    WriteResult({ "nInserted" : 1 })
    > var d2 = db.collection.insert([{"b": 3}, {'c': 4}])
    > d2
    BulkWriteResult({
            "writeErrors" : [ ],
            "writeConcernErrors" : [ ],
            "nInserted" : 2,
            "nUpserted" : 0,
            "nMatched" : 0,
            "nModified" : 0,
            "nRemoved" : 0,
            "upserted" : [ ]
    })
    
  • db.collection.insertOne()ドキュメントに記載されているように、コレクションにドキュメントを挿入し、次のようなドキュメントを返します。

    > var document = db.collection.insertOne({"a": 3})
    > document
    {
            "acknowledged" : true,
            "insertedId" : ObjectId("571a218011a82a1d94c02333")
    }
    
  • db.collection.insertMany()複数のドキュメントをコレクションに挿入し、次のようなドキュメントを返します。

    > var res = db.collection.insertMany([{"b": 3}, {'c': 4}])
    > res
    {
            "acknowledged" : true,
            "insertedIds" : [
                    ObjectId("571a22a911a82a1d94c02337"),
                    ObjectId("571a22a911a82a1d94c02338")
            ]
    }
    

それぞれどのような状況で使用すればよいでしょうか?

メソッドinsert()はメジャードライバでは非推奨となっているため、.insertOne()コレクションに単一のドキュメントを挿入する場合は メソッドを使用し、.insertManyコレクションに複数のドキュメントを挿入する場合は メソッドを使用する必要があります。もちろん、これはドキュメントには記載されていませんが、実際にはシェルでアプリケーションを作成する人は誰もいません。同じことがupdateOneupdateManydeleteOnedeleteManyfindOneAndDeletefindOneAndUpdateそしてfindOneAndReplace。 見る書き込み操作の概要

おすすめ記事