AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

Rustを使い始める

このガイドでは、 MongoDB Rustドライバー を使用してMongoDB AtlasでホストされているMongoDBクラスターに接続するアプリケーションを作成する方法について説明します。別のドライバーまたはプログラミング言語を使用してMongoDBに接続する方法については、公式ドライバーのリストを参照してください。

Rust ドライバーは、MongoDB に接続して通信するために使用できる関数のライブラリです。

MongoDB Atlas は、MongoDB 配置をホストする完全管理のクラウドデータベース サービスです。このガイドの手順に従い、独自の無料(クレジット カード不要)MongoDB Atlas 配置を作成できます。

このガイドの手順に従って、サンプル Rust アプリケーションを MongoDB Atlas 配置に接続します。

1

開発環境にRust 1.88 以降とRustパッケージマネージャーの Rust がインストールされていることを確認してください。

Rustおよび Cardgo をインストールする方法の詳細については、 Rust のダウンロードとインストールに関するRust の公式ガイドを参照してください。

2

shell で次のコマンドを実行して、このプロジェクト用に rust_quickstart というディレクトリを作成します。

cargo new rust_quickstart

このコマンドが正常に完了すると、 Cargo.tomlファイルとsrcディレクトリが作成され、 rust_quickstartディレクトリにはmain.rsファイルが含まれます。

次のコマンドを実行して、プロジェクト ディレクトリに移動します。

cd rust_quickstart
3

次のクライアントをプロジェクトのCargo.tomlファイルにある依存関係リストに含めて、プロジェクトに追加します。

  • mongodb、Rust ドライバー crate

  • serde、直列化クローン

  • futures、コア抽象化を提供する非同期ランタイム crate

Tip

mongodb crate は、MongoDB のプライマリ データ表現クライアントであるbson crate を解決します。 依存関係リストでbson crate を省略できます。

ドライバーは非同期ランタイムと同期ランタイムの両方をサポートしています。 各ランタイムの依存関係リストの例を表示するには、次のAsynchronous API タブとSynchronous API タブから選択します。

[dependencies]
serde = "1.0.188"
futures = "0.3.28"
tokio = {version = "1.32.0", features = ["full"]}
[dependencies.mongodb]
version = "3.7.0"
[dependencies]
serde = "1.0.188"
[dependencies.mongodb]
version = "3.7.0"
features = ["sync"]

非同期ランタイムと同期ランタイムの詳細については、「非同期 API と同期 APIガイド 」を参照してください。

これらの手順を完了すると、Rust と Cardgo がインストールされ、必要なドライバーの依存関係を持つ新しい Rust プロジェクトが作成されます。

MongoDB Atlas では無料階層の MongoDB 配置を作成して、データを保存および管理できます。 MongoDB Atlas は、MongoDB databaseをクラウドでホストおよび管理します。

1

MongoDB の使用開始ガイドを完了して、新しい Atlas アカウントを設定し、サンプルデータを新しい無料階層の MongoDB 配置にロードします。

2

データベースユーザーを作成したら、そのユーザーのユーザー名とパスワードを安全な場所に保存して、後の手順で使用します。

これらの手順を完了すると、Atlas に新しい無料階層の MongoDB 配置が作成され、データベースユーザーの認証情報が作成され、データベースに サンプル データがロードされます 。

MongoDBの配置に接続するには、接続 URI接続文字列とも呼ばれます)を提供します。接続文字列は、 MongoDB**配置**に接続する方法と接続中の動作をドライバーに指示します。

接続stringには、配置のホスト名またはIPアドレスとポート、認証メカニズム、ユーザー認証情報(該当する場合)、および接続オプションが含まれます。

Atlas でホストされていないインスタンスまたは配置に接続するには、「 MongoDB に接続するその他の方法 」を参照してください。

1

前のステップで作成した配置の接続文字列を取得するには、Atlas アカウントにログインし、Clusters セクションの下の Database ページに移動します。新しい配置で Connect ボタンをクリックします。

Atlas UI のクラスター セクションの接続ボタン

データベースユーザーをまだ設定していない場合、 MongoDB は新しいユーザーを作成して構成するように要求します。

Connect to your application の下の [Drivers ボタンをクリックし、Driver 選択メニューから「Rust」を選択し、Version 選択メニューからインストールしたバージョンに最適なバージョンを選択します。

接続文字列のみを表示するには、View full code sample オプションが選択されていないことを確認します。

2

次のスクリーンショットに示すように、接続stringの右側にあるコピーアイコンをクリックして、クリップボードにコピーします。

UI の接続 コピーstring ボタンAtlas
3

この接続文字列をテキストエディタのファイルに貼り付け、<db_password> プレースホルダーをデータベースユーザーのパスワードに置き換えます。接続文字列には、すでにデータベースユーザーのユーザー名が入力されています。

このファイルを安全な場所に保存して、次の手順で使用します。

これらの手順を完了すると、データベースのユーザー名とパスワードを含む接続stringが作成されます。

注意

この手順で問題が発生した場合は、 MongoDB Stack Overflowタグ または 一般的な技術サポートのためのMongoDB Reddit Community を参照してください。また、 接続トラブルシューティングガイドを参照してください。

1

rust_quickstart/srcプロジェクトディレクトリ内の main.rs というファイルを開きます。このファイルで、アプリケーションの記述を開始できます。

以下のコードをコピーして、main.rs ファイルに貼り付けます。

use mongodb::{
bson::{Document, doc},
Client,
Collection
};
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
// Replace the placeholder with your Atlas connection string
let uri = "<connection string URI>";
// Create a new client and connect to the server
let client = Client::with_uri_str(uri).await?;
// Get a handle on the movies collection
let database = client.database("sample_mflix");
let my_coll: Collection<Document> = database.collection("movies");
// Find a movie based on the title value
let my_movie = my_coll.find_one(doc! { "title": "The Perils of Pauline" }).await?;
// Print the document
println!("Found a movie:\n{:#?}", my_movie);
Ok(())
}
use mongodb::{
bson::{Document, doc},
sync::{Client, Collection}
};
fn main() -> mongodb::error::Result<()> {
// Replace the placeholder with your Atlas connection string
let uri = "<connection string URI>";
// Create a new client and connect to the server
let client = Client::with_uri_str(uri)?;
// Get a handle on the movies collection
let database = client.database("sample_mflix");
let my_coll: Collection<Document> = database.collection("movies");
// Find a movie based on the title value
let my_movie = my_coll
.find_one(doc! { "title": "The Perils of Pauline" })
.run()?;
// Print the document
println!("Found a movie:\n{:#?}", my_movie);
Ok(())
}
2

<connection string URI> プレースホルダーを、このガイドの接続文字列の作成ステップからコピーした接続文字列に置き換えます。

3

rust_quickstartプロジェクトディレクトリから、次のコマンドを実行して、このアプリケーションをコンパイルして実行します。

cargo run

コマンドライン出力には、検索された映画ドキュメントの詳細が含まれます。

Found a movie:
Some(
Document({
"_id": ObjectId(...),
"title": String(
"The Perils of Pauline",
),
"plot": String(
"Young Pauline is left a lot of money ...",
),
"runtime": Int32(
199,
),
"cast": Array([
String(
"Pearl White",
),
String(
"Crane Wilbur",
),
...
]),
}),
)

エラーが発生した場合や出力が表示されない場合は、main.rs ファイルに適切な接続stringが指定されており、サンプル データがロードされていることを確認してください。

注意

この手順で問題が発生した場合は、 MongoDB Stack Overflowタグ または 一般的な技術サポートのためのMongoDB Reddit Community を参照してください。また、 接続トラブルシューティングガイドを参照してください。

これらの手順を完了すると、ドライバーを使用して MongoDB 配置に接続し、サンプル データに対してクエリを実行し、結果を出力する動作するアプリケーションが作成されます。

クイック スタート チュートリアルを完了しました。

このチュートリアルでは、MongoDB Atlas でホストされている MongoDB 配置に接続し、クエリに一致するドキュメントを検索する Rust アプリケーションを作成しました。

MongoDB Rust ドライバーの詳細については、次のリソースを参照してください。