Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Rustを使い始める

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

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

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

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

1

開発環境にRust 1.74 以降と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.5.2"
[dependencies]
serde = "1.0.188"
[dependencies.mongodb]
version = "3.5.2"
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 ドライバーの詳細については、次のリソースを参照してください。

戻る

Overview

項目一覧