接続文字列
➤ 右上の言語の選択ドロップダウンメニューを使用して、以下の例の言語を設定します。
接続文字列を使用して、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 メニューからプロジェクトを選択します。
まだ表示されていない場合は、サイドバーの [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 接続形式 を使用します。
SRV 接続形式
MongoDB は、DNS で構築された シード リスト をサポートしています。DNS を使用して使用可能なサーバー リストを作成しておくことで、配置の柔軟性が向上し、クライアントの再構成不要でサーバーのローテションが可能となります。
SRV URI 接続スキームの形式は次のとおりです。
mongodb+srv://[username:password@]host[/[defaultauthdb][?options]]
その他の例については、「接続stringの例 」を参照してください。
接続文字列コンポーネント
接続文字列には、次のコンポーネントが含まれます。
コンポーネント | 説明 | |
---|---|---|
mongodb:// or mongodb+srv:// | ||
username:password@ | 任意。認証資格情報。 指定した場合、クライアントは ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字はパーセント エンコーディング を使用して変換する必要があります。
| |
host[:port] |
ポート番号が指定されていない場合は、デフォルトのポート SRV URI 接続形式を使用する場合は、ホストを 1 つだけ指定し、ポートは指定しないでください。それ以外の場合は、ドライバーまたは | |
/defaultauthdb | 任意。 接続stringに
| |
?<options> | 任意。 接続固有のオプションを 接続文字列でデータベースが指定されていない場合は、最後の |
DNS シードリストを活用するには、標準の mongodb
ではなく mongodb+srv
のプレフィックスを持つ標準の接続stringと同じ構文を使用します。 +srv
は、それに続くホスト名が DNS SRV レコードに対応していることをクライアントに示します。 次に、ドライバーまたはmongosh
は DNS でレコードをクエリして、 mongod
またはmongos
インスタンスを実行しているホストを判断します。
注意
+srv
形式を使用する場合は、hostname
、domain
、および top-level domain (TLD)
を次の形式で指定する必要があります: <hostname>.<domain>.<TLD>.
次の表は、プレースホルダーがサンプル値にどのように対応しているかを示しています。
プレースホルダー | 例 |
---|---|
<hostname> | server |
<domain> | example |
<TLD> | com |
<hostname>.<domain>.<TLD> | server.example.com |
この例では、<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レコードで以下のオプションを指定することもできます。
replicaSet
authSource
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
ssl
false
tls=false
ssl=false
stringで (または )を使用して (または同等の )オプションを明示的に設定することで上書きできます。
DNS シードリスト接続形式を使用してmongosh
をレプリカセットに接続する例については、「 mongosh 接続オプション 」を参照してください。
標準接続文字列形式
このセクションでは、セルフホスト型 MongoDB スタンドアロン配置、レプリカセット、またはシャード クラスターに接続するために使用される MongoDB 接続 URI の標準形式について説明します。
標準の URI 接続スキームの形式は次のとおりです。
mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]]
その他の例については、「接続stringの例 」を参照してください。
接続文字列コンポーネント
接続文字列には、次のコンポーネントが含まれます。
コンポーネント | 説明 | |
---|---|---|
mongodb:// or mongodb+srv:// | ||
username:password@ | 任意。認証資格情報。 指定した場合、クライアントは ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字はパーセント エンコーディング を使用して変換する必要があります。
| |
host[:port] |
ポート番号が指定されていない場合は、デフォルトのポート SRV URI 接続形式を使用する場合は、ホストを 1 つだけ指定し、ポートは指定しないでください。それ以外の場合は、ドライバーまたは | |
/defaultauthdb | 任意。 接続stringに
| |
?<options> | 任意。 接続固有のオプションを 接続文字列でデータベースが指定されていない場合は、最後の |