接続文字列オプション
項目一覧
このページでは、SRV 接続文字列と標準接続文字列の両方のすべての接続オプションを一覧表示します。
接続オプションは次の形式のペアです: name=value
。
オプション
name
では、ドライバーを使用する場合、大文字と小文字は区別されません。オプション
name
では、mongosh
を使用する場合、大文字と小文字は区別されません。value
では常に大文字と小文字が区別されます。
オプションはアンパサンド(&
)文字 name1=value1&name2=value2
で区切ります。次の例では、接続に replicaSet
オプションと connectTimeoutMS
オプションが含まれています。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db1.example.net:27017,db2.example.net:2500/?replicaSet=test&connectTimeoutMS=300000
注意
接続文字列引数のセミコロン区切り記号
下位互換性を保つために、ドライバーは現在、オプションの区切り文字としてセミコロン(;
)を受け入れます。
レプリカセット オプション
次の接続文字列は、指定されたホスト上で実行されているメンバーを含む myRepl
という名前のレプリカセットに接続します。パスワード D1fficultP%40ssw0rd
を使用してユーザー myDatabaseUser
として認証します。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com:27017,db1.example.com:27017,db2.example.com:27017/?replicaSet=myRepl
接続オプション | 説明 |
---|---|
がレプリカセットのメンバーである場合、 レプリカセット レプリカセットに接続するときは、URI の | |
クライアントが接続 URI で
|
接続オプション
TLS のオプション
レプリカセットへの次の接続文字列には tls=true
オプションが含まれており、パスワード D1fficultP%40ssw0rd
を使用してユーザー myDatabaseUser
として認証します。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&tls=true
代わりに、同等の ssl=true
オプションを使用することもできます。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&ssl=true
接続オプション | 説明 |
---|---|
接続の TLS/SSL を有効または無効にします。
| |
接続用 TLS または SSL を有効または無効にするブール値:
| |
クライアントの TLS/SSL X.509 証明書またはクライアントの TLS/SSL 証明書とキーのいずれかを含むローカル クライアントはこのファイルを が x を表示した場合、 このオプションは一部のドライバーではサポートされません。詳細については、ドライバーのドキュメントを参照してください。 この接続文字列オプションは、 | |
このオプションは一部のドライバーではサポートされません。詳細については、ドライバーのドキュメントを参照してください。 この接続文字列オプションは、 | |
さまざまな証明書の検証を無効にします。 証明書の検証を無効にするには、 この接続文字列オプションは、 警告証明書の検証を無効にすると脆弱性が生じます。 |
タイムアウト オプション
圧縮オプション
接続オプション | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
このクライアントと 次の圧縮プログラムを指定できます。 複数のコンプレッサーを指定する場合、通信イニシエーターだけでなく、コンプレッサーをリストする順序も重要になります。たとえば、クライアントが次のネットワーク コンプレッサー 重要両者がネットワーク圧縮を有効にしている場合、メッセージは圧縮されます。そうでなければ、この両者間のメッセージは非圧縮となります。 両者に共通のコンプレッサーが 1 つもなければ、両者間のメッセージは圧縮されません。
| |||||||||
|
接続プール オプション
ほとんどのドライバーには、何らかの接続プール処理が実装されています。一部のドライバーは接続プールをサポートしていません。接続プーリング実装の詳細については、お使いのドライバーのドキュメントを参照してください。これらのオプションを使用すると、MongoDB 配置への接続時にアプリケーションで接続プールを構成できるようになります。
接続オプション | 説明 |
---|---|
接続プール内の最大接続数。デフォルト値は 100 です。 | |
接続プール内の接続の最小数。デフォルト値は 注意
| |
プールを同時に確立できる接続の最大数。デフォルト値は
| |
このオプションはすべてのドライバーでサポートされているわけではありません。 このオプションは一部のドライバーではサポートされません。 | |
プールから接続が利用可能になるまで待機できるスレッドの最大数を提供するために、ドライバーが このオプションは一部のドライバーではサポートされません。 | |
接続可能になるまでスレッドが待機できる最大時間(ミリ秒単位)。デフォルト値については、ドライバーのドキュメントを参照してください。 このオプションは一部のドライバーではサポートされません。 |
書込み保証(write concern)オプション
書込み保証(write concern) は、MongoDB からリクエストされる確認応答のレベルを表します。書込み保証(write concern)オプションは以下によってサポートされます。
MongoDB ドライバー
書込み保証(write concern)事項は、接続文字列内と、insert
や update
などのメソッドへのパラメーターの両方で指定できます。書込み保証(write concern)事項が両方の場所で指定されている場合、メソッド パラメーターは接続文字列の設定をオーバーライドします。
MongoDB Atlas 配置接続文字列は、デフォルトで "majority"
を使用します。MongoDB Atlas 配置に対して書込み保証(write concern)を指定しない場合、MongoDB Atlas は "majority"
を適用します。
レプリカセットに対する次の接続stringでは、 wtimeoutMS
書込み保証(write concern)パラメータを使用して、 "majority"
書込み保証と 5 秒のタイムアウトを指定します。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&w=majority&wtimeoutMS=5000
接続オプション | 説明 |
---|---|
書き込み保証(write concern)
| |
詳細については、「書き込み保証(write concern)」を参照してください。
readConcern オプション
MongoDB では WiredTiger ストレージエンジン向けに、レプリカセットとレプリカセット シャードで readConcern
オプションを導入します。
読み取り保証(read concern)を使用すると、クライアントはレプリカセットからの読み取りの分離レベルを選択できます。
レプリカセットに対する次の接続stringではreadConcernLevel=majority
を指定します。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&readConcernLevel=majority
接続オプション | 説明 |
---|---|
分離レベル。次のいずれかの値を受け入れることができます。 この接続文字列 オプションは |
詳細については、「読み取り保証(read concern)」を参照してください。
設定オプションを読む
読み込み設定(read preference)は、レプリカセットに関する読み取り操作の動作を説明します。これらのパラメーターを使用すると、接続文字列で接続ごとに読み込み設定(read preference)を指定できます。
以下に例を挙げます。
レプリカセットに対する次の接続文字列では
secondary
読み込み設定(read preference)モードと 120 秒のmaxStalenessSeconds
値を指定します。mongodb://myDatabaseUser:D1fficultP%40ssw0rd@db0.example.com,db1.example.com,db2.example.com/?replicaSet=myRepl&readPreference=secondary&maxStalenessSeconds=120 シャーディングされたクラスターに対する次の接続文字列では、
secondary
読み込み設定(read preference)と 120 秒のmaxStalenessSeconds
値を指定します。mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos1.example.com,mongos2.example.com/?readPreference=secondary&maxStalenessSeconds=120 シャーディングされたクラスターに対する次の接続文字列では、
secondary
読み込み設定(read preference)モードと 3 つのreadPreferenceTags
を指定します。mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongos1.example.com,mongos2.example.com/?readPreference=secondary&readPreferenceTags=dc:ny,rack:r1&readPreferenceTags=dc:ny&readPreferenceTags=
複数の readPreferenceTags
を使用する場合は、順序が重要です。一致が見つかるまで、 readPreferenceTags
は順番に試行されます。一致が見つかると、その仕様を使用して一致するノードはすべて検索され、残りの readPreferenceTags
は無視されます。詳細については、「タグの一致順序」を参照してください。
接続オプション | 説明 |
---|---|
この接続の読み込み設定(read preference)を指定します。可能な値は次のとおりです。 読み取り操作を含む分散トランザクションでは、読み込み設定(read preference) この接続文字列オプションは、 | |
セカンダリの古さがどのぐらいになると、クライアントがセカンダリを使用した読み込み操作を停止するかを指定します(秒単位)。詳しくは、「読み込み設定(read preference) デフォルトでは、最大の古さはなく、クライアントは読み取り操作の送信先を選択するときにセカンダリの遅延を考慮しません。
| |
タグ ドキュメントを、キーと値のペアをコロンで区切った、カンマ区切りリストとして指定します。たとえば、
タグ ドキュメントのリストを指定するには、複数の 複数の この接続文字列オプションは、 |
詳しくは、「読み込み設定(read preference)」を参照してください。
認証オプション
レプリカセットに対する次の接続文字列では、authSource
に admin
データベースを指定します。つまり、ユーザー認証情報が admin
データベースに対して認証されます。
mongodb://myDatabaseUser:D1fficultP%40ssw0rd@mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl&authSource=admin
ユーザー名またはパスワードに次の文字が含まれている場合、それらの文字は パーセント エンコーディング を使用して変換する必要があります。
$ : / ? # [ ] @
接続オプション | 説明 | |
---|---|---|
ユーザーの認証情報に関連付けられたデータベース名を指定します。
MongoDB | ||
MongoDB で接続を認証するために使用する認証メカニズムを指定します。
を使用するには、
注意AWS アクセスキー ID、シークレット アクセス キー、セッション トークンのいずれかに次の文字が含まれている場合、
上記文字はパーセント エンコーディングを使用して変換される必要があります。 あるいは、AWS アクセスキーのID、シークレット アクセスキー、またはセッション トークンが、それぞれの AWS IAM 環境変数 Atlas接続 MongoDB の認証システムの詳細については、「自己管理型配置での認証 」を参照してください。 また、 509x509 を使用する も検討してください。 x 認証の詳細については 、「 自己管理型配置でクライアントを認証するための 証明書 」を参照してください。 | ||
指定された 指定可能なキーと値のペアは次のとおりです。
| ||
Kerberos 化された MongoDB インスタンスに接続するときには、Kerberos サービス名を設定します。この値は、接続先の MongoDB インスタンスに設定したサービス名と一致している必要があります。
|
サーバーの選択と検出オプション
MongoDB には、MongoDB ドライバーと mongos
インスタンスによる読み取りまたは書込み(write)操作の送信先サーバーの選択方法を構成するために次のオプションが用意されています。
接続オプション | 説明 |
---|---|
複数の適切な MongoDB インスタンスから最適なものを選択するために使用されるレイテンシ ウィンドウのサイズ(ミリ秒単位)です。デフォルト: 15 ミリ秒。 すべてのドライバーは | |
例外をスローする前に、サーバー選択のために他の処理をブロックする時間(ミリ秒単位)を指定します。デフォルト: 30,000 ミリ秒。 | |
シングルスレッド ドライバーのみ。 マルチスレッド ドライバーと | |
デフォルト:
| |
シングルスレッド クライアントのみ。MongoDB 配置への TCP 接続の状態をクライアントが確認する頻度を調整します。値が低いほどクライアントがネットワークの問題を検出するまでの時間は短縮しますが、CPU の使用量は増えます。デフォルトは 5 秒です。 このオプションは一部のドライバーではサポートされません。詳細については、ドライバーのドキュメントを参照してください。 |
その他の設定
接続オプション | 説明 |
---|---|
カスタム アプリ名を指定します。アプリ名は次の場所に表示されます。
| |
再試行可能な読み取りを有効にします。 可能な値は次のとおりです。
| |
再試行可能な書き込みを有効にします。 可能な値は次のとおりです。
MongoDB ドライバーは、 | |
可能な値は次のとおりです。
デフォルトについては、ドライバーのドキュメントを参照してください。 注意一部のドライバーは | |
クライアントがロード バランサーに接続しているかどうかを指定します。デフォルトは このオプションは、次の要件を満たす場合にのみ、
| |