➤ 右上の言語の選択ドロップダウンメニューを使用して、以下の例の言語を設定します。
接続文字列を使用して、MongoDB インスタンスと次の宛先間の接続を定義できます。
ドライバーを使用して接続する場合のアプリケーション。
MongoDB Compass や MongoDB Shell(mongosh)などのツール。
互換性
以下の環境でホストされている配置に接続するには、接続文字列を使用します。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
接続文字列を見つけるには、次の手順に従います。
MongoDB Atlas 接続文字列を見つける
Atlas CLI を使用して MongoDB Atlas 接続文字列を見つけるには、Atlas CLI をインストールして接続し、次のコマンドを実行します。<clusterName> を MongoDB Atlas クラスター名に、<projectId> をプロジェクト ID に置き換えます。
atlas clusters connectionStrings describe <clusterName> --projectId <projectId>
詳しくは、「 Atlas clusters connectionStrings describe 」を参照してください。
Atlas UI で MongoDB Atlas 接続文字列を見つけるには、次の手順を実行します。
MongoDB Atlas UI で、プロジェクトの Clusters ページに移動します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーの Projects メニューからプロジェクトを選択します。
サイドバーで、 Database見出しの下のClustersをクリックします。
[ Clusters (クラスター) ] ページが表示されます。
Connection Method ダイアログを開きます。
接続するクラスターの Connect をクリックします。
Choose a Connection Method をクリックします。MongoDB Atlas はデフォルトでStandard Connection を選択します。プライベートエンドポイントを使用して接続するには、 Private Endpoint を選択します。
MongoDB Atlas の接続文字列は次の例のようになります。
mongosh "mongodb+srv://cluster0.example.mongodb.net myFirstDatabase" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@cluster0.example.mongodb.net/?retryWrites=true&w=majority
セルフホスト型配置の接続文字列を見つける
セルフホスト型 MongoDB Enterprise または MongoDB Community 配置に接続している場合、db.getMongo() メソッドを実行して接続文字列を返します。
配置に接続していない場合は、使用する接続タイプに基づいて接続stringを決定できます。 SRV 接続string の構文を学習するには「 SRVstring 接続形式string 」を参照してください。標準の接続 構文を学習するには「 標準接続文字 形式 」を参照してください。
セルフホスト接続文字列は次の例のようになります。
次のレプリカセット接続文字列には、これらの要素が含まれます。
replicaSetオプションレプリカセット構成に記載されている
mongodインスタンスのホスト名ユーザー
myDatabaseUserとパスワードD1fficultP%40ssw0rdで認証し、アクセス制御を強制します
mongosh "mongodb+srv://mongodb0.example.com/?authSource=admin&replicaSet=myRepl" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin&replicaSet=myRepl
ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。
$ : / ? # [ ] @
次のシャーディングされたクラスターの接続文字列には、これらの要素が含まれます。
mongosh "mongodb+srv://mongos0.example.com/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com/?authSource=admin
ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。
$ : / ? # [ ] @
次のスタンドアロン接続文字列は、パスワード D1fficultP%40ssw0rd を使用してユーザー myDatabaseUser として認証し、アクセス制御を強制します。
mongosh "mongodb+srv://mongodb0.example.com/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com/?authSource=admin
ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。
$ : / ? # [ ] @
次のレプリカセット接続文字列には、これらの要素が含まれます。
replicaSetオプションレプリカセット構成に記載されている
mongodインスタンスのホスト名アクセス制御を強制するためのユーザー名とパスワードは次のとおりです。
mongosh "mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?authSource=admin&replicaSet=myRepl
ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。
$ : / ? # [ ] @
次のシャーディングされたクラスターの接続文字列には、これらの要素が含まれます。
接続文字列内の
mongosホストアクセス制御を強制するためのユーザー名とパスワード
mongosh "mongodb://mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/?authSource=admin
ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。
$ : / ? # [ ] @
以下のスタンドアロン接続文字列はアクセス制御を強制します。
mongosh "mongodb://@mongodb0.example.com:27017/?authSource=admin" --apiVersion 1 --username myDatabaseUser
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin
ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。
$ : / ? # [ ] @
接続stringオプションの完全なリストについては、「 SRV 接続形式」または「標準接続string形式」を参照してください。 その他の例については、「接続stringの例 」を参照してください。
接続文字列の形式
次のいずれかの形式を使用して、MongoDB 接続文字列を指定できます。
SRV 接続形式: DNS SRV レコードに対応するホスト名を含む接続string 。 ドライバーまたは
mongoshはレコードをクエリして、mongodまたはmongosインスタンスを実行しているホストを判断します。標準接続文字列 形式:
mongodまたはmongosインスタンスを実行しているすべてのホストを指定する接続文字列。
MongoDB Atlas クラスターは、 オンラインアーカイブ に接続しない限り、 SRV 接続形式 を使用します。
接続文字列で指定されたホストとポートに直接接続するには、directConnection オプションをtrueに設定します。directConnectionおよびその他の接続文字列オプションの詳細については、「接続文字列オプション」を参照してください。
SRV 接続形式
MongoDB は、DNS で構築された シード リスト をサポートしています。DNS を使用して使用可能なサーバー リストを作成しておくことで、配置の柔軟性が向上し、クライアントの再構成不要でサーバーのローテションが可能となります。
SRV URI 接続スキームの形式は次のとおりです。
mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]
その他の例については、「接続stringの例 」を参照してください。
接続文字列コンポーネント
接続文字列には、次のコンポーネントが含まれます。
コンポーネント | 説明 | |
|---|---|---|
| 標準接続形式( | |
| 任意。認証資格情報。 指定した場合、クライアントは ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。 | |
|
ポート番号が指定されていない場合は、デフォルトのポート SRV URI 接続形式を使用する場合は、ホストを 1 つだけ指定し、ポートは指定しないでください。それ以外の場合は、ドライバーまたは | |
| 任意。 接続stringに
重要: SRV 接続形式を使用する Atlas 配置の場合、 | |
| 任意。 接続固有のオプションを 接続文字列でデータベースが指定されていない場合は、最後の |
DNS シードリストを活用するには、標準の mongodb ではなく mongodb+srv のプレフィックスを持つ標準の接続stringと同じ構文を使用します。 +srvは、それに続くホスト名が DNS SRV レコードに対応していることをクライアントに示します。 次に、ドライバーまたはmongoshは DNS でレコードをクエリして、 mongodまたはmongosインスタンスを実行しているホストを判断します。
注意
+srv 形式を使用する場合は、hostname、domain、および top-level domain (TLD) を次の形式で指定する必要があります: <hostname>.<domain>.<TLD>. 次の表は、プレースホルダーがサンプル値にどのように対応しているかを示しています。
プレースホルダー | 例 |
|---|---|
|
|
|
|
|
|
|
|
この例では、<hostname>.<domain>.<TLD> 形式を正しく使用する DNS シード リスト 接続文字列を示しています。パスワード D1fficultP%40ssw0rd を使用してユーザー myDatabaseUser として認証します。
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@server.example.com/
対応する DNS 構成は次のようになります。
Record TTL Class Priority Weight Port Target _mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27317 mongodb1.example.com. _mongodb._tcp.server.example.com. 86400 IN SRV 0 5 27017 mongodb2.example.com.
個々の SRV レコードは _mongodb._tcp.<hostname>.<domain>.<TLD> 形式である必要があります。
クライアントが シード リスト のメンバーに接続すると、クライアントは接続できるレプリカセット メンバーのリストを検索します。クライアントはシード リストで DNS エイリアスを使用することが多いため、ホストは元のシード リストとは異なるサーバー リストを返す可能性があります。このような場合、クライアントはシード リストにリストされているホスト名ではなく、レプリカセットによって提供されるホスト名を使用して、結果のレプリカセット構成内のホスト名を介してレプリカセット メンバーにアクセスできるようにします。
重要
SRV レコードで返されるホスト名は、指定されたホスト名と同じ親ドメイン(この例では example.com)を共有する必要があります。親ドメインとホスト名が一致しない場合は接続できません。
この例では、<hostname> が欠落している DNS シード リスト接続文字列を示します。これは誤りであり、エラーが発生します。
# This connection string is missing the <hostname> and raises a connection error mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@example.com/
標準の接続文字列と同様に、DNS シード リストの接続文字列では、クエリ文字列としてオプションを指定することができます。DNSシードリスト文字列 は、TXTレコードで以下のオプションを指定することもできます。
replicaSetauthSource
mongod インスタンスごとに指定できる TXT レコードは 1 つだけです。DNS に複数の TXT レコードが存在する場合、または TXT レコードに replicaSet または authSource 以外のオプションが含まれている場合、クライアントはエラーを返します。
server.example.com DNS エントリの TXT レコードは次のようになります。
Record TTL Class Text server.example.com. 86400 IN TXT "replicaSet=mySet&authSource=authDB"
DNS SRV レコードと TXT レコードで指定されたオプションを組み合わせると、次の標準形式の接続文字列が解決されます。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb1.example.com:27317,mongodb2.example.com:27017/?replicaSet=mySet&authSource=authDB
クエリ文字列でオプションを渡すことにより、TXT レコードで指定されたオプションを上書きできます。次の例では、クエリ文字列によって、上記の DNS エントリの TXT レコードで構成されたauthSource オプションが上書きされています。
mongodb+srv://myDatabaseUser:D1fficultP%40ssw0rd@server.example.com/?connectTimeoutMS=300000&authSource=aDifferentAuthDB
authSource のオーバーライドを指定すると、標準形式の同等の接続文字列は次のようになります。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb1.example.com:27317,mongodb2.example.com:27017/?connectTimeoutMS=300000&replicaSet=mySet&authSource=aDifferentAuthDB
注意
接続stringで識別されたホスト名に対応するDNS レコードが利用できない場合、mongodb+srv オプションは失敗します。 +srv 接続string修飾子を使用する場合、接続のためにtls (または同等のssl )オプションは true に設定されます。 この動作は、クエリtls sslfalsetls=falsessl=falsestringで (または )を使用して (または同等の )オプションを明示的に設定することで上書きできます。
DNS シードリスト接続形式を使用してmongoshをレプリカセットに接続する例については、「 mongosh 接続オプション 」を参照してください。
標準接続文字列形式
このセクションでは、セルフホスト型 MongoDB スタンドアロン配置、レプリカセット、またはシャード クラスターに接続するために使用される MongoDB 接続 URI の標準形式について説明します。
標準の URI 接続スキームの形式は次のとおりです。
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
その他の例については、「接続stringの例 」を参照してください。
接続文字列データベース オプション
接続文字列の[/defaultauthdb]フィールドにデフォルトのデータベースを指定できます。クライアントは指定された[/defaultauthdb]データベースをデフォルトのデータベースとして使用します。接続文字列で指定されていない場合、デフォルトのデータベースはtestデータベースになります。
authSource 接続オプションを使用して、接続文字列で認証データベースを指定できます。指定された場合、クライアントはこのデータベースを使用してユーザーの身元と認証情報を確認します。authSource が指定されていない場合、デフォルトで [/defaultauthdb] データベースになります。authSource と [/defaultauthdb] の両方が指定されていない場合、authSource はデフォルトで admin データベースになります。
次の接続文字列によりデフォルトのデータベースは myDefaultDB に、認証データベースは admin に設定されます。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017/myDefaultDB?authSource=admin
接続文字列コンポーネント
接続文字列には、次のコンポーネントが含まれます。
コンポーネント | 説明 | |
|---|---|---|
| 標準接続形式( | |
| 任意。認証資格情報。 指定した場合、クライアントは ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。 | |
|
ポート番号が指定されていない場合は、デフォルトのポート SRV URI 接続形式を使用する場合は、ホストを 1 つだけ指定し、ポートは指定しないでください。それ以外の場合は、ドライバーまたは | |
| 任意。 接続stringに
重要: SRV 接続形式を使用する Atlas 配置の場合、 | |
| 任意。 接続固有のオプションを 接続文字列でデータベースが指定されていない場合は、最後の |