Golang MongoDB まとめ書きのデータはどう実装していますか?

MongoDBのBulkWriteメソッドは、Goでデータをまとめて挿入するために使用できます。

まずMongoDB の Go ドライバ・パッケージをインストールする必要がありますが、それには次のコマンドを使用できます。

go get go.mongodb.org/mongo-driver/mongo

然后,你可以按照以下步骤来进行批量写入数据的实现:

  1. MongoDBクライアント接続を作成する:
client, err := mongo.Connect(ctx, options.Client().ApplyURI("mongodb://localhost:27017"))
if err != nil {
    log.Fatal(err)
}
defer client.Disconnect(ctx)
  1. データベースとコレクションを選択する:
database := client.Database("mydb")
collection := database.Collection("mycollection")
  1. データを書き込む WriteModel のスライスを作成します。
var models []mongo.WriteModel

for i := 0; i < 10; i++ {
    model := mongo.NewInsertOneModel()
    model.SetDocument(bson.D{
        {"name", fmt.Sprintf("Name %d", i)},
        {"age", i},
    })
    models = append(models, model)
}
  1. java.BulkWrite を使って、一括書き込み操作を実行する
result, err := collection.BulkWrite(ctx, models)
if err != nil {
    log.Fatal(err)
}

fmt.Printf("Inserted %d documents\n", result.InsertedCount)

上記のコードは、10のドキュメントを指定されたコレクションに一括書き込みします。

補足ですが、コード内の「context」は Go の文脈のことですので、必要に応じて独自に定義してご活用ください。さらに更新や削除といった追加のデータ検証や操作を適宜加えることもできます。

何かお役に立てれば幸いです!

bannerAds