複数のドキュメントの挿入
InsertMany()
メソッドを使用して、コレクションに複数のドキュメントを挿入できます。
例
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
構造体タグが空のままの場合、挿入されたドキュメントの対応フィールドが省略されます。
次の例では、2 つの新しいドキュメントをrestaurants
コレクションに挿入します。
Tip
存在しないデータベースとコレクション
書き込み操作を実行するときに必要なデータベースとコレクションが存在しない場合は、サーバーが暗黙的にそれらを作成します。
coll := client.Database("sample_restaurants").Collection("restaurants") // Creates two sample documents describing restaurants newRestaurants := []interface{}{ Restaurant{Name: "Rule of Thirds", Cuisine: "Japanese"}, Restaurant{Name: "Madame Vo", Cuisine: "Vietnamese"}, } // Inserts sample documents into the collection result, err := coll.InsertMany(context.TODO(), newRestaurants) if err != nil { panic(err) }
期待される結果
完全な例を実行すると、 restaurants
コレクションに次の挿入されたドキュメントが見つかります。
{ "_id": ObjectID("..."), "name": "Rule of Thirds", "cuisine": "Japanese"}, { "_id": ObjectID("..."), "name": "Madame Vo", "cuisine": "Vietnamese"}
複数のドキュメントを検索する方法の例については、 「 複数のドキュメントを検索する 」の使用例を参照してください。
詳細情報
ドキュメントの挿入の詳細については、 ドキュメントの挿入 を参照してください。