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

接続ガイド

項目一覧

  • Overview
  • 接続URI
  • 接続 URI の一部
  • MongoDB クライアント
  • クライアント作成メソッド
  • 接続例
  • MongoDB に接続する他の方法
  • ローカルマシン上の MongoDB Server への接続
  • レプリカセットへの接続

このガイドでは、Rust ドライバーを使用して MongoDB インスタンスまたはレプリカセットの配置に接続する方法を学習できます。

このガイドには、次のセクションが含まれています。

  • 接続 URIは、接続 URI とその構成要素を説明します。

  • MongoDBClient は、{3Client の型と接続 からクライアントを作成する方法について説明します。string

  • 接続例MongoDB では、Atlas 接続 を使用して に接続する方法を示す例を紹介します。string

  • MongoDB に接続するその他の方法では、Atlas でホストされていない MongoDB 配置に接続する方法について説明します

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

次の図は、サンプル接続 URI の各部分について説明しています。

接続 URI の一部

この例では、プロトコルに mongodb を使用し、標準接続string形式を指定します。 配置の柔軟性を高め、クライアントを再構成せずにサーバーをローテーションで変更する機能が必要な場合は、 DNS シード リスト接続形式を使用することもできます。

パスワードベースの認証を使用している場合、プロトコルの後の接続stringの部分にはユーザー名とパスワードが含まれます。 userのプレースホルダーを自分のユーザー名に、 passのプレースホルダーを自分のパスワードに置き換えます。 ユーザー名とパスワードを必要としない認証メカニズムを使用している場合は、接続 URI のこの部分を省略します。

認証情報の後の接続 の部分は、string インスタンスのホスト名またはIP MongoDBアドレスとポートを指定します。前の例では、ホスト名としてsample.hostを使用し、ポートとして27017を使用しています。 これらの値を置き換えて、MongoDB インスタンスを点ようにします。

接続stringの最後の部分は、接続オプションと認証オプションを指定します。 この例では、 maxPoolSize=20w=majorityの 2 つの接続オプションを設定しています。

Tip

接続オプション

接続オプションの設定の詳細については、「 接続オプション に関するガイドを参照してください。

MongoDB に接続するには、 Clientインスタンスを作成する必要があります。 クライアントが接続を管理し、データベースコマンドを実行します。

Tip

クライアントの再利用

クライアントを複数のセッションやオペレーションで再利用することで、パフォーマンスを向上させることができます。 毎回新しいインスタンスを 1 つ作成するのではなく、同じClientインスタンスを使用して複数のタスクを実行できます。 Client型は、複数のスレッドや非同期タスクによって安全に同時使用できます。

ClientOptions オブジェクトを with_options() メソッドに渡すことで、接続文字列とその他のクライアント オプションを使用するクライアントを作成できます。

接続 URI を指定するには、それをClientOptionsparse()メソッドに渡します。 その他のオプションを設定するには、 ClientOptions構造体の関連フィールドを設定します。

クライアント オプションを指定しない場合は、接続stringを Client::with_uri_str() メソッドに渡してクライアントを作成します。

クライアントの作成の詳細については、クライアント および with_options() のAPIドキュメントを参照してください。

Tip

Stable API

新しいサーバー バージョンにアップグレードするときに重大な変更を回避するために、Stable API バージョンをオプションとして設定できます。

Stable API 機能について詳しくは、「 Stable APIガイド 」をご覧ください。

次のコードは、 Atlas接続stringとStable APIバージョンを使用するクライアントを作成し、 MongoDBに接続して、接続が成功したことを確認する方法を示しています。 対応する接続コード サンプルについては、以下の Asynchronous APIまたはSynchronous APIタブから選択します。

Tip

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

use mongodb::{ bson::doc, options::{ ClientOptions, ServerApi, ServerApiVersion }, Client };
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
// Replace the placeholder with your Atlas connection string
let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri).await?;
// Set the server_api field of the client_options object to Stable API version 1
let server_api = ServerApi::builder().version(ServerApiVersion::V1).build();
client_options.server_api = Some(server_api);
// Create a new client and connect to the server
let client = Client::with_options(client_options)?;
// Send a ping to confirm a successful connection
client.database("admin").run_command(doc! { "ping": 1 }).await?;
println!("Pinged your deployment. You successfully connected to MongoDB!");
Ok(())
}
use mongodb::{ bson::doc, options::{ ClientOptions, ServerApi, ServerApiVersion }, sync::Client };
fn main() -> mongodb::error::Result<()> {
// Replace the placeholder with your Atlas connection string
let uri = "<connection string>";
let mut client_options = ClientOptions::parse(uri)?;
// Set the server_api field of the client_options object to Stable API version 1
let server_api = ServerApi::builder().version(ServerApiVersion::V1).build();
client_options.server_api = Some(server_api);
// Create a new client and connect to the server
let client = Client::with_options(client_options)?;
// Send a ping to confirm a successful connection
client.database("admin").run_command(doc! { "ping": 1 }).run()?;
println!("Pinged your deployment. You successfully connected to MongoDB!");
Ok(())
}

Tip

クイック スタート ガイドに従って、Atlas の接続文字列を取得します。

注意

Atlas Serverless への接続の詳細については、必要な最小ドライバー バージョンを特定するために、「サーバーレスインスタンスの制限 」ページを参照してください。

Atlas でホストされていない単一の MongoDB サーバー インスタンスまたはレプリカセットに接続する必要がある場合は、次のセクションで接続方法を確認してください。

開発目的でローカルマシン上で MongoDB Server を実行する必要がある場合は、次の手順を完了する必要があります。

  1. MongoDB のインストール」チュートリアルに従って、マシンに MongoDB Server をインストールします。 マシンとオペレーティング システムに適したインストール チュートリアルを選択します。

  2. インストールが完了したら、サーバーを起動します。

重要

サーバーを悪意のある攻撃から常に保護します。 セキュリティ推奨事項のリストについては、「セキュリティ チェックリスト」を参照してください。

MongoDB Server を正常に開始したら、次の手順を実行してローカル インスタンスに接続します。

  1. 前の例 stringuriの 変数に保存されている接続string MongoDBを、ローカル インスタンスの接続 に置き換えます。

    MongoDB Serverがローカルで実行されている場合は、次の接続stringを使用してMongoDBに接続できます。

    mongodb://localhost:<port>

    この 接続stringで、<port> は、着信接続をリッスンするようにサーバーを設定したポート番号です。

  2. 接続コードを実行します。 コードが正常に実行されると、コンソールに次の出力が表示されます。

    Pinged your deployment. You successfully connected to MongoDB!

Tip

以下も参照してください。

接続文字列とカスタム形式の詳細については、サーバー マニュアルの「接続文字列 」を参照してください。

MongoDB レプリカセットの配置は、接続されたインスタンス、つまりノードのグループであり、ノードは同じデータ セットを保存します。 このインスタンスの構成は、データの冗長性と高いデータ可用性を提供します。

レプリカセットの配置に接続するには、各インスタンスのホスト名とポート番号をカンマで区切って指定し、レプリカセット名を接続文字列の replicaSet パラメーターの値として指定します。

次の例では、ホスト名はhost1host2host3で、ポート番号はすべて27017です。 レプリカセット名はmyRSです。 次のコードは、これらの仕様を持つレプリカセットの接続 URI を示しています。

mongodb://host1:27017,host2:27017,host3:27017/?replicaSet=myRS

レプリカセットに接続すると、ドライバーはデフォルトで次のアクションを実行します。

  • いずれかのノードのアドレスが指定されると、レプリカセットのすべてのノードを検出します。

  • プライマリノードに対する書込み指示などの操作を適切なメンバーに送信します。 レプリカセット プライマリの詳細については、サーバー マニュアルの「レプリカセット プライマリ」を参照してください。

Tip

レプリカセットに接続するには、1 つのホストのみを指定する必要があります。 ただし、指定したホストが利用できない場合でも接続できるようにするには、ホストの全リストを提供します。

接続 URI で指定されたホストで操作を強制するには、 directConnectionオプションを指定します。 直接接続では、次の動作が表示されます。

戻る

接続