Docs Menu
Docs Home
/ / /
Rust ドライバー
/

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

コレクションに複数のドキュメントを挿入するには、 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 };
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
name: String,
cuisine: String,
}
#[tokio::main]
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 };
#[derive(Serialize, Deserialize, Debug)]
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("...")

戻る

ドキュメントの挿入