Docs Menu
Docs Home
/ / /
Go Driver
/ /

複数のドキュメントの挿入

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"}

複数のドキュメントを検索する方法の例については、 「 複数のドキュメントを検索する 」の使用例を参照してください。

ドキュメントの挿入の詳細については、 ドキュメントの挿入 を参照してください。

InsertMany()

戻る

ドキュメントの挿入