Docs Menu
Docs Home
/ / /
Node.js ドライバー
/ /

接続オプション

このセクションでは、 MongoClientOptionsインスタンス内で設定できるNode.jsドライバーでサポートされているMongoDB接続および認証オプションについて説明します。

接続文字列で接続オプションを直接設定する方法の詳細については、 MongoDB Serverマニュアルの「 接続文字列 」を参照してください。

名前
許容値
デフォルト値
説明

appName

string

null

接続ハンドシェイクの一環として、ドライバーがクライアントのメタデータでサーバーに渡すアプリ名を指定します。ドライバーは接続を確立するときに appName 値を MongoDB に送信します。この値は、ログファイル、スロークエリログ、プロファイル コレクションに記録されます。

authMechanism

string

null

サーバーへの接続に使用する認証メカニズムの方法を指定します。 値を指定しない場合、ドライバーはサーバーのバージョンに応じてデフォルトのメカニズムである、 SCRAM-SHA-1またはSCRAM-SHA-256を使用します。 使用可能な認証メカニズムについては、「 認証メカニズム」を参照してください。

authMechanismProperties

カンマで区切られたキーと値のペア(例: opt1:val1,opt2:val2)

null

GSSAPI のホスト名正規化を有効にするオプションなど、認証用に提供されるその他のオプションを指定します。

authSource

string

null

接続の認証対象となるデータベースを指定します。

autoSelectMongoDB

ブール値

true

true に設定されている場合、接続が確立されるまでソケットは IPv6 アドレスと IPv4 アドレスへの接続を試みます。 使用可能な場合、ドライバーは最初の IPv6 アドレスを選択します。

autoSelectMongoDB Atlas

non-negative integer

null

autoSelectFamily オプションを使用する場合に、次のアドレスを試行する前に接続試行の完了まで待機する時間をミリ秒単位で指定します。 10 未満の正の整数に設定されている場合は、代わりに値 10 が使用されます。

compressors

カンマ区切りの文字列リスト(例: snappy,zlib,zstd)

null

サーバーとの間で送受信されるワイヤプロトコルのメッセージに許可される圧縮の種類を指定します。詳細については、「ネットワーク圧縮」を参照してください。

connectTimeoutMS

non-negative integer

30000

エラーが発生する前に、サーバーへの単一の TCP ソケット接続を確立するための待機時間をミリ秒単位で指定します。0 を指定すると、接続タイムアウトが無効になります。

directConnection

ブール値

false

接続 URI で指定されたホストにすべての操作を強制的にディスパッチするかどうかを指定します。

enableUtf8Validation

ブール値

true

true を指定すると、接続の UTF-8 検証が有効になります。MongoDB は、無効な UTF-8 文字を含む文字列データを BSON に直列化する場合、エラーをスローします。これはドキュメント キーとドキュメント値の両方に当てはまるため、この検証により処理のオーバーヘッドが増加します。

false を指定すると、接続の UTF-8 検証が無効になります。MongoDB は、データに無効な UTF-8 データが含まれる場合でもエラーをスローしません。検証を無効にすると、アプリケーションは検証処理のオーバーヘッドを回避します。検証が無効になっているときにデータを編集すると、データが失われる可能性があります。UTF-8 検証を無効にすることは、データのクエリまたはエクスポートのみを行う場合の一時的な回避策です。

Node.jsコード で UTF- 検証を設定することもできます。 UTF-88 文字の詳細については、 8Wikipedia の UTF- を参照してください。

heartbeatFrequencyMS

500 以上の整数

null

定期的なサーバーのモニタリング チェックの間隔をミリ秒単位で指定します。

loadBalanced

ブール値

null

ドライバーがロード バランサーに接続しているかどうかを指定します。

localThresholdMS

non-negative integer

15

適切なサーバー間で選択するためのラウンド トリップ時間のレイテンシ ウィンドウのサイズをミリ秒単位で指定します。0 を指定すると待機なしとなり、利用可能な最速のサーバーを意味します。

maxIdleTimeMS

non-negative integer

0

接続が閉じられる前にアイドル状態を維持できる時間をミリ秒単位で指定します。0 を指定すると、最小値がないことを意味します。

maxPoolSize

non-negative integer

100

ドライバーが接続プール内に作成できるクライアントまたは最大接続数を指定します。このカウント数には、使用中の接続が含まれています。

maxConnecting

non-negative integer

2

ドライバーの接続プールが同時に確立できる最大接続数を指定します。

maxStalenessSeconds

-1、または 90 以上の整数

null

セカンダリで発生してもサーバー選択の対象となる最大レプリケーションラグを、ウォール クロック時間で指定します。-1 を指定すると、最大値はありません。

minPoolSize

non-negative integer

0

操作が行われていない場合でも、ドライバーが接続プールに作成して維持する接続の数を指定します。このカウント数には、使用中の接続が含まれています。

proxyHost

string

null

SOCKS5 プロキシの IPv4 アドレス、IPv6 アドレス、またはドメイン名を指定します。

proxyPort

non-negative integer

null

SOCKS5 プロキシ サーバーの TCP ポート番号を指定します。proxyHost オプションを設定すると、このオプションの値はデフォルトで 1080 になります。

proxyUsername

string

null

SOCKS5 プロキシ サーバーへの認証に使用するユーザー名を指定します。このオプションを長さ 0 の文字列に設定すると、ドライバーはそれを無視します。

proxyPassword

string

null

SOCKS5 プロキシ サーバーへの認証用パスワードを指定します。このオプションを長さ 0 の文字列に設定すると、ドライバーはそれを無視します。

readConcernLevel

string

null

クライアントのデフォルトの読み取り保証 (read concern) を指定します。詳細については、「読み取り保証 (read concern)」を参照してください。

readPreference

string

"primary"

クライアントのデフォルトの読み込み設定 (read preference) を指定します(タグは除く)。詳細については、「読み込み設定 (read preference)」を参照してください。

readPreferenceTags

カンマで区切られたキー: 値のペア。たとえば、「dc:ny,rack:1」と「dc:ny」は複数回指定できます。このキーの各インスタンスは個別のタグセットです。

null

クライアントのデフォルトの読み込み設定 (read preference) タグを指定します。このオプションは、読み込み設定 (read preference) モードがプライマリでない場合にのみ有効です。

ドライバーは、URI 内のタグの順序を読み込み設定 (read preference) の順序として使用します。

replicaSet

string

null

接続先のレプリカセットの名前を指定します。

retryReads

ブール値

true

再試行可能な読み取りを有効にします。

retryWrites

ブール値

true

再試行可能な書き込みを有効にします。

serverMonitoringMode

auto, stream, poll

auto

ドライバー モニターが使用するモニタリング モードを指定します。このオプションを auto に設定すると、モニタリング モードはドライバーが実行されている環境によって決まります。ドライバーは、FaaS(function-as-a-service)環境ではポーリング モードを使用し、他の環境ではストリーミング モードを使用します。

serverSelectionTimeoutMS

non-negative integer

30000

エラーが発生する前にサーバー選択をブロックするタイムアウトをミリ秒単位で指定します。

socketTimeoutMS

non-negative integer

0

タイムアウトする前にソケットでの送信または受信の試行に費やされる時間をミリ秒単位で指定します。0 を指定すると、タイムアウトは発生しません。

srvMaxHosts

non-negative integer

0

シードリストを最初に設定するとき、または SRV ポーリング中にトポロジに新しいホストを追加するときにランダムに選択する SRV 結果の最大数を指定します。

srvServiceName

RFC6335 に準拠した有効な SRV サービス名

"mongodb"

最初の DNS シードリストの発見で SRV ルックアップに使用するサービス名を指定します。

ssl

ブール値

false

ssl は、tls オプションのエイリアスです。

tls

ブール値

false

サーバーへの接続に TLS が必要かどうかを指定します。"mongodb+srv"srvServiceName を使用するか、他の tls 接頭辞付きオプションを指定すると、tls の値は暗黙的に true に設定されます。

tlsAllowInvalidCertificates

ブール値

false

サーバーの TLS 証明書が無効な場合にドライバーがエラーを生成するかどうかを指定します。テスト目的のみでこのオプションを true に設定します。

tlsAllowInvalidHostnames

ブール値

false

サーバーのホスト名と TLS 証明書で指定されたホスト名が一致しない場合に、ドライバーがエラーを生成するかどうかを指定します。テスト目的のみでこのオプションを true に設定します。

tlsCAFile

string

null

TLS 接続を行う場合、1 つまたはまとまった証明書の承認があるファイルへのパスを指定します。このオプション設定の詳細については、TLS ガイドの「証明書ファイルパスの指定」セクションを参照してください。

tlsCertificateKeyFile

string

null

クライアント証明書ファイルまたはクライアント秘密キーファイルへのパスを指定します。両方が必要な場合は、ファイルを連結する必要があります。この接続オプション設定の詳細については、TLS ガイドの「証明書ファイルパスの指定」セクションを参照してください。

tlsCertificateKeyFilePassword

string

null

TLS 接続に使用するクライアント秘密キーを復号化するためのパスワードを指定します。

tlsInsecure

ブール値

false

無効な証明書やホスト名の不一致を許可するなど、TLS 制約を可能な限り緩和することを指定します。テスト目的のみでこのオプションを true に設定します。

waitQueueTimeoutMS

non-negative integer

0

タイムアウトになるまでにサーバーの接続プールから接続をチェックアウトするのに費やされる時間をミリ秒単位で指定します。

zlibCompressionLevel

-1 以上9 以下の整数

-1

zlib を使用してワイヤプロトコルのメッセージを圧縮するときの圧縮レベルを指定します。-1 はデフォルトのレベル、0 は圧縮なし、1 は最速の速度、9 は最適な圧縮を示します。詳細については、「ネットワーク圧縮」を参照してください。

インスタンス内で設定できる接続オプションの詳細については、MongoClientOptions APIドキュメントの「 MongoClientOptions 」を参照してください。

戻る

接続ガイド