mongoDB ドキュメント(レコード)をinitializeOrderedBulkOp()でバルクインサートする

mongoDB ドキュメント(レコード)をinitializeOrderedBulkOp()でバルクインサートする

mongoDBで、ドキュメント(レコード)をinitializeOrderedBulkOp()でバルクインサートする手順を記述してます。バルクインサートを使用すると複数のデータを一度のsql文でインサートすることができます。

環境

  • OS CentOS Stream release 9
  • MongoDB 6.0.2

手順

ドキュメント(レコード)をinitializeOrderedBulkOp()でバルクインサートするには、「initializeOrderedBulkOp()」を変数に入れて使用します。

var bulk = db.foo.initializeOrderedBulkOp()

bulk.insert(データ)
bulk.insert(データ)
.
.
.
bulk.execute()

実際に、insertしてみます。

> var bulk = db.foo.initializeOrderedBulkOp()

> bulk.insert({name:'siro', age:22, gender:'f'})
{ nInsertOps: 1, nUpdateOps: 0, nRemoveOps: 0, nBatches: 1 }

>  bulk.insert({name:'goro', age:23, gender:'x'})
{ nInsertOps: 2, nUpdateOps: 0, nRemoveOps: 0, nBatches: 1 }

> bulk.execute()
{
  acknowledged: true,
  insertedCount: 2,
  insertedIds: [
    { index: 0, _id: ObjectId("639aa2b86dcdc72cf1d5b3b9") },
    { index: 1, _id: ObjectId("639aa2bc6dcdc72cf1d5b3ba") }
  ],
  matchedCount: 0,
  modifiedCount: 0,
  deletedCount: 0,
  upsertedCount: 0,
  upsertedIds: []

2件追加されたことが確認できます。