複数のドキュメントの挿入
コレクションに複数のドキュメントを挿入するには、 insert_many() メソッドCollection
を呼び出します。 インスタンスのメソッド。
1 つ以上のドキュメントを含むベクトルをinsert_many()
メソッドに渡して、コレクションに挿入します。 These documents must be instances of the type that you parameterized your Collection
instance with. たとえば、コレクションをMyStruct
構造体でパラメーター化した場合は、 MyStruct
インスタンスのベクトルをinsert_many()
メソッドのパラメーターとして渡します。
Tip
単一ドキュメントを挿入するには、 insert_one() メソッド の使用を検討してください 使用して複数のドキュメントを挿入できます。このメソッドを使用する実行可能なコード例については、 ドキュメントの挿入 の使用例を参照してください。
insert_many()
メソッドは InsertManyResult _id
を返します 挿入されたドキュメントの 値を参照する タイプ。
コレクションにドキュメントを挿入する方法の詳細については、「ドキュメントの挿入 」ガイドを参照してください。
例
この例では、 sample_restaurants
データベースのrestaurants
コレクションにドキュメントを挿入します。 この例では、Restaurant
name
フィールドとcuisine
フィールドを含む 構造体を使用して、コレクションに挿入されるドキュメントをモデル化します。
この例では、ドキュメントのベクトルをパラメーターとしてinsert_many()
メソッドに渡します。
AsynchronousSynchronous各実行時に対応するコードを表示するには、 タブまたは タブを選択します。
use mongodb::{ bson::doc, Client, Collection }; use serde::{ Deserialize, Serialize }; struct Restaurant { name: String, cuisine: String, } async fn main() -> mongodb::error::Result<()> { let uri = "<connection string>"; let client = Client::with_uri_str(uri).await?; let my_coll: Collection<Restaurant> = client .database("sample_restaurants") .collection("restaurants"); let docs = vec! [ Restaurant { name: "While in Kathmandu".to_string(), cuisine: "Nepalese".to_string(), }, Restaurant { name: "Cafe Himalaya".to_string(), cuisine: "Nepalese".to_string(), } ]; let insert_many_result = my_coll.insert_many(docs).await?; println!("Inserted documents with _ids:"); for (_key, value) in &insert_many_result.inserted_ids { println!("{}", value); } Ok(()) }
Inserted documents with _ids: ObjectId("...") ObjectId("...")
use mongodb::{ bson::doc, sync::{Client, Collection} }; use serde::{ Deserialize, Serialize }; struct Restaurant { name: String, cuisine: String, } fn main() -> mongodb::error::Result<()> { let uri = "<connection string>"; let client = Client::with_uri_str(uri)?; let my_coll: Collection<Restaurant> = client .database("sample_restaurants") .collection("restaurants"); let docs = vec! [ Restaurant { name: "While in Kathmandu".to_string(), cuisine: "Nepalese".to_string(), }, Restaurant { name: "Cafe Himalaya".to_string(), cuisine: "Nepalese".to_string(), } ]; let insert_many_result = my_coll.insert_many(docs).run()?; println!("Inserted documents with _ids:"); for (_key, value) in &insert_many_result.inserted_ids { println!("{}", value); } Ok(()) }
Inserted documents with _ids: ObjectId("...") ObjectId("...")