複数のドキュメントの更新
UpdateMany()
メソッドを使用して、コレクション内の複数のドキュメントを更新できます。
例
Tip
この例の実行方法については、「 の使用例」をお読みください。
次の例では、listingsAndReviews
コレクションに対して次の操作を実行します。
住所サブドキュメントのマーケット フィールド、
address.market
が「SydMany」であるドキュメントに一致します一致したドキュメントの
price
を 1.15 回更新します
coll := client.Database("sample_airbnb").Collection("listingsAndReviews") filter := bson.D{{"address.market", "Sydney"}} // Creates instructions to update the values of the "price" field update := bson.D{{"$mul", bson.D{{"price", 1.15}}}} // Updates documents in which the value of the "address.market" // field is "Sydney" result, err := coll.UpdateMany(context.TODO(), filter, update) if err != nil { panic(err) }
期待される結果
完全な例を実行すると、 listingsAndReviews
コレクションに次の更新されたドキュメントが見つかります。
// results truncated ... { "_id" : "10091713", ... , "name" : "Surry Hills Studio", ... , "price" : 181.00, ... }, { "_id" : "9908871", ... , "name" : "Family friendly beach house", ... , "price" : 751.00, ... }, { "_id" : "20989061", ... , "name" : "Big and sunny Narraben room", ... , "price" : 60.00, ... }, ...
複数のドキュメントを検索する方法の例については、「 複数のドキュメントを検索する 」を参照してください。
詳細情報
ドキュメントの置き換え、クエリ フィルターの指定、潜在的なエラーの処理の詳細については、「ドキュメントを変更する」を参照してください。
更新演算子の詳細については、「 MongoDB 更新演算子のリファレンス ドキュメント 」を参照してください。