一括操作の実行
BulkWrite()
メソッドを使用して、コレクションに対して一括書き込み操作を実行できます。
例
Tip
この例を実行する方法については、「使用例」をお読みください。
次の例えでは、 haikus
コレクションに対して次の操作を順番に実行します。
title
が「停止したデータの記録」であるドキュメントに一致し、それを新しいドキュメントに置き換えますtitle
が「Dogger gres」であるドキュメントに一致し、その値を「Dogger gres」に更新します
coll := client.Database("insertDB").Collection("haikus") models := []mongo.WriteModel{ mongo.NewReplaceOneModel().SetFilter(bson.D{{"title", "Record of a Shriveled Datum"}}). SetReplacement(bson.D{{"title", "Dodging Greys"}, {"text", "When there're no matches, no longer need to panic. You can use upsert"}}), mongo.NewUpdateOneModel().SetFilter(bson.D{{"title", "Dodging Greys"}}). SetUpdate(bson.D{{"$set", bson.D{{"title", "Dodge The Greys"}}}}), } opts := options.BulkWrite().SetOrdered(true) results, err := coll.BulkWrite(context.TODO(), models, opts)
期待される結果
完全な例を実行すると、 haikus
コレクションに次のドキュメントが見つかります。
{ "_id" : ObjectId("..."), "title" : "Dodge The Greys", "text" : "When there're no matches, no longer need to panic. You can use upsert." }
ドキュメントの検索方法の例については、「ドキュメントを検索する」を参照してください。
詳細情報
コレクションに対して一括書き込み操作の実行と潜在的なエラーの処理の詳細については、「一括操作 」を参照してください。