MongoDBのinsert()、insertOne()、insertMany()メソッドの違いは何ですか
-
db.collection.insert()
ドキュメントに記載されているように、1つまたは複数のドキュメントをコレクションに挿入し、単一挿入の場合はWriteResultオブジェクトを、一括挿入の場合はBulkWriteResultオブジェクトを返します。> 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
に単一のドキュメントを挿入する場合は常にメソッド コレクションに複数のドキュメントを挿入する場合。もちろん、これはドキュメントには記載されていませんが、実際には、シェルでアプリケーションを作成する人は誰もいません。同じことがupdateOne
にも当てはまります 、updateMany
、deleteOne
、deleteMany
、findOneAndDelete
、findOneAndUpdate
およびfindOneAndReplace
。書き込み操作の概要を参照してください。