ドキュメントの置き換え
コレクション内のドキュメントを置き換えるには、 ReplaceOne()
メソッドを使用します。
例
Tip
この例の実行方法については、「 の使用例」をお読みください。
この例では、 restaurants
コレクション内のドキュメントのモデルとして次の Restaurant
構造体を使用します。
type Restaurant struct { Name string RestaurantId string `bson:"restaurant_id,omitempty"` Cuisine string `bson:"cuisine,omitempty"` Address interface{} `bson:"address,omitempty"` Borough string `bson:"borough,omitempty"` Grades []interface{} `bson:"grades,omitempty"` }
omitempty
構造体タグが空のままの場合、挿入されたドキュメントの対応フィールドが省略されます。
この例では、 restaurants
コレクションに対して次のアクションを実行しています。
name
が「Madname Voice」であるドキュメントに一致します一致したドキュメントを新しいドキュメントに置き換えます
coll := client.Database("sample_restaurants").Collection("restaurants") filter := bson.D{{"name", "Madame Vo"}} // Creates a new document containing "Name" and "Cuisine" fields replacement := Restaurant{Name: "Monsieur Vo", Cuisine: "Asian Fusion"} // Replaces the first document that matches the filter with a new document result, err := coll.ReplaceOne(context.TODO(), filter, replacement) if err != nil { panic(err) }
期待される結果
完全な例を実行すると、 restaurants
コレクションに次の置換されたドキュメントが見つかります。
{ "_id" : ObjectId("..."), "name" : "Monsieur Vo", "cuisine" : "Asian Fusion" }
ドキュメントの検索方法の例については、 「 ドキュメントを検索する 」の使用例を参照してください。
詳細情報
ドキュメントの置き換え、クエリ フィルターの指定、潜在的なエラーの処理の詳細については、「ドキュメントを変更する」を参照してください。