AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

接続オプション

このセクションでは、.NET/C# ドライバーで使用できる MongoDB の接続オプションと認証オプションについて説明します。接続を構成するには、接続 URI または MongoClientSettings オブジェクトのいずれかを使用します。

MongoClient コンストラクターに接続 URI を渡す場合は、接続オプションを <name>=<value> ペアとして文字列に含めることができます。次の例では、接続 URI に、値が 60000connectTimeoutMS オプションと、値が truetls オプションが含まれています。

using MongoDB.Driver;
// Sets the connection URI
const string connectionUri = "mongodb+srv://sample.host:27017/?connectTimeoutMS=60000&tls=true";
// Creates a new client and connects to the server
var client = new MongoClient(connectionUri);

MongoClientSettings オブジェクトを使用すると、接続 URI ではなくコードで接続設定を構成できます。このように接続を構成すると、実行時に設定を変更しやすくなり、コンパイル中にエラーを検出しやすくなり、接続 URI よりも多くの構成オプションが提供されます。

MongoClientSettings オブジェクトを使用するには、クラスのインスタンスを作成し、そのプロパティを設定して、それを引数として MongoClient コンストラクターに渡します。

//const string connectionUri = "mongodb+srv://sample.host:27017/?connectTimeoutMS=60000&tls=true";
// Creates a MongoClientSettings object
var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
Server = new MongoServerAddress("sample.host", 27017),
ConnectTimeout = new TimeSpan(0, 0, 60),
UseTls = true
};
// Creates a new client and connects to the server
var client = new MongoClient(settings);

次の表は、MongoClientSettings クラスで使用できる各接続オプションと、可能な場合は接続文字列で同じ結果を達成する方法を示しています。MongoClientSettings プロパティが接続文字列内の複数のオプションにマップされている場合、接続 URI の例には関連するすべてのオプションが表示されます。

注意

時間範囲にクエリ パラメーターを使用する場合、値はミリ秒単位でなければなりません。たとえば、60 秒を指定するには、値 60000 を使用します。時間範囲に MongoClientSettings オブジェクトを使用している場合は、適切な TimeSpan 値を使用します。

MongoClientSettings プロパティ
説明

AllowInsecureTls

TLS 制約を可能な限り緩和するかどうかを指定します。
これには、無効な証明書やホスト名の不一致を許可することが含まれます。

このプロパティがtrue に設定され、 がSslSettings.CheckCertificateRevocation
falseに設定されている場合、.NET/C# ドライバーは例外をスローします。

データ型: boolean
デフォルト: false
接続 URI 例: tlsInsecure=true

ApplicationName


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

データ型: string
デフォルト: null
接続 URI の例: appName=yourApp

AutoEncryptionOptions



自動クライアント側暗号化の設定。データ型: AutoEncryptionOptions
デフォルト:null
接続 URI の例: 該当なし

ClusterConfigurator

ソケット、TLS、クラスターなどの低レベル構成オプション。データ型:

Action< ClusterBuilder >:デフォルト:
null
接続 URI の例: 該当なし

コンプレッサー

サーバーとの間で送受信されるワイヤプロトコル メッセージの 優先圧縮タイプ



。ドライバーは、サーバーがサポートする最初の圧縮タイプを使用します。データ型: CompressorConfiguration
デフォルト:null
接続 URI の例:compressors=snappy,zstd

ConnectTimeout

タイムアウトする前にドライバーがサーバーへの単一の TCP ソケット接続を確立しようとする時間の長さ


DataType: TimeSpan
デフォルト: 30 秒
接続 URI 例: connectTimeoutMS=0

Credentials

ドライバーがサーバーに対して認証する方法の設定。これには、認証情報、メカニズム、ソース、およびその他の設定が含まれます。認証メカニズムを指定しない


場合、ドライバーはサーバーのバージョンに応じて
SCRAM-SHA-1 または のいずれかを使用します。使用可能な認証メカニズムについては、SCRAM-SHA-256

「 認証メカニズム

」を参照してください。データ型: MongoCredential
デフォルト:null
接続 URI の例:

mongodb://user1:password1&authMechanism=GSSAPI
&authMechanismProperties=SERVICE_NAME:other,REALM:otherrealm
&authSource=$external

DirectConnection

すべての 操作をホストに強制的にディスパッチするかどうかを指定します。このオプションを指定すると、ドライバーは


DNSシードリスト接続形式を受け入れません。代わりに、標準の接続
URI形式を使用する必要があります。複数のホスト名を指定する場合、このプロパティを


false


に設定する必要があります。データ型:boolean
デフォルト:false
接続 URI の例:directConnection=true

HeartbeatInterval

定期的なサーバーモニタリングチェックの間隔。
500ミリ秒以上である必要があります。

データ型: TimeSpan
デフォルト: 10 秒
接続URIの例: heartbeatFrequencyMS=5000

HeartbeatTimeout

モニタリングソケットがタイムアウトするまでアイドル状態を維持できる時間の長さ。

データ型: TimeSpan
デフォルト: ConnectTimeout と同じ値
接続 URI 例: heartbeatTimeoutMS=5000

IPv6

ホスト アドレスが IPv6形式であるかどうかを指定します。

データ型: boolean
デフォルト: false
接続 URI 例: ipv6=true

IsFrozen

設定が固定されているかどうかを示します。凍結された設定は変更できません。
このオプションは読み取り専用です。

データ型: boolean
デフォルト: false
接続 URI の例: 該当なし

LinqProvider

使用する LINQ

プロバイダー。データ型: LinqProvider
デフォルト:LinqProvider.V3
接続 URI の例: 該当なし

LoadBalanced

ドライバーがロード バランサーに接続しているかどうかを指定します。この
プロパティを true に設定できるのは、次の場合に限ります。

  • ホスト名を 1 つだけ指定します。

  • レプリカセットに接続していません。

  • SrvMaxHosts プロパティを使用していません。

  • DirectConnection プロパティを使用していません。

データ型: boolean
デフォルト: false
接続 URI 例: loadBalanced=true

LocalThreshold

サーバーの適格性のレイテンシ ウィンドウ。

サーバーの往復時間が、最速のサーバーの往復時間とこの値を合した値より長い場合、そのサーバーは選択対象になりません。

データ型: TimeSpan
デフォルト: 15 ミリ秒
接続 URI の例: localThresholdMS=0

LoggingSettings

ログ記録

に使用される設定。データ型: LoggingSettings
デフォルト:null
接続 URI の例: 該当なし

MaxConnecting


ドライバーの接続プールが同時に確立できる接続の最大数。

データ型: integer
デフォルト: 2
接続 URI 例: maxConnecting=3

MaxConnectionIdleTime

ドライバーが接続を閉じる前に接続がアイドル状態になることができる時間の長さ。

データ型: TimeSpan
デフォルト: 10 分
接続 URI 例: maxIdleTimeMS=300000

MaxConnectionLifeTime

接続が期限切れる前にプールできる時間の長さ。

データ型: TimeSpan
デフォルト: 30 分
接続 URI 例: maxLifetimeMS=50000

MaxConnectionPoolSize


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

データ型: integer
デフォルト: 100
接続 URI の例: maxPoolSize=150

MinConnectionPoolSize

操作が行われていない場合でも、ドライバーが接続プールに作成し維持する接続の数。

このカウントには、使用中の接続が含まれます。

データ型: integer
デフォルト: 0
接続 URI の例: minPoolSize=1

ReadConcern

The client's default read concern.
See read concern for more information.

Data Type: ReadConcern
Default: ReadConcern.Default
Connection URI Example: readConcernLevel=local

ReadEncoding

string のデシリアライズに使用する UTF-8 エンコーディング。
無効な UTF-8 バイト
シーケンスが発生した場合、厳密なエンコーディングでは例外がスローされます。

データ型: UTF8Encoding
デフォルト: 厳密なエンコーディング
接続 URI の例: 該当なし

ReadPreference

クライアントのデフォルトの読み取り設定。MaxStaleness
は、セカンダリで発生してもサーバー選択の対象となる最長のレプリケーションラグ を、ウォール クロック時間で表します。
を指定すると、最大値はありません。詳細については、-1
読み込み設定 (read preference)

」を参照してください。データ型: ReadPreference
デフォルト:ReadPreference.Primary
接続 URI の例:

readPreference=primaryPreferred
&maxStalenessSeconds=90
&readPreferenceTags=dc:ny,rack:1

接続 URI に readPreferenceTags パラメーターを複数回含めることができます。そうすると、クライアントは各インスタンスを個別のタグ セットとして扱います。URI 内のタグの順序によって、読み込み設定(read preference)が決まります。このパラメーターは、読み込み設定(read preference)モードが primary でない場合にのみ使用できます。

ReplicaSetName

接続するレプリカセットの名前。

データ型: string
デフォルト: null
接続 URI 例: replicaSet=yourReplicaSet

RetryReads

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

データ型: boolean
デフォルト: true
接続 URI 例: retryReads=false

RetryWrites

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

データ型: boolean
デフォルト: true
接続 URI 例: retryWrites=false

スキーム

標準の接続文字列形式(MongoDB
)を使用するか、DNSシードリスト形式( )を使用するかを指定します。接続文字列の形式の詳細については、MongoDBPlusSrv
MongoDBマニュアル
を参照してください。

DirectConnectionプロパティが に設定されている場合にtrue
DNSシードリスト形式を使用しようとすると、 .NET/


C#ドライバーは例外をスローします。データ型: ConnectionStringScheme
ConnectionStringScheme.MongoDB
デフォルト: 接続 URI の例:mongodb+srv://

サーバー

MongoDBが

を実行中いるホストとポート番号。データ型: MongoServerAddress
デフォルト:localhost:27017
接続 URI の例:mongodb://sample.host:27017

ServerApi

安定したAPIバージョン管理を選択できるようになります。 Stable API
のバージョン管理の詳細については、 MongoDBマニュアルを参照してください。データ型:


ServerApi
デフォルト:null
接続 URI の例: 該当なし

ServerMonitoringMode

使用するサーバー監視プロトコルを指定します。このオプションを に設定すると、モニタリングモードはドライバーがを実行中いる環境によって決まります。ドライバーは、
Auto


AWS Lambdaなどの function-as-a-service(FaaS)環境ではポーリングモードを使用し、他の環境ではストリーミングモードを使用します。データ型:

ServerMonitoringMode
デフォルト:Auto
接続 URI の例:serverMonitoringMode=poll

サーバー

The cluster members where MongoDB is running.

Data Type: IEnumerable<MongoServerAddress>
Default: localhost:27017
Connection URI Example: mongodb://sample.host1:27017,sample.host2:27017

ServerSelectionTimeout

ドライバーがタイムアウトする前にサーバーを選択しようとする時間の長さ。

データ型: TimeSpan
デフォルト: 30 秒
接続 URI 例: serverSelectionTimeoutMS=15000

SocketTimeout


ドライバーがタイムアウトする前にソケット上で送信または受信を試みる時間の長さ。

データ型: TimeSpan
デフォルト: OS デフォルト
接続 URI 例: socketTimeoutMS=0

SrvMaxHosts

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


このプロパティは、接続文字列スキームが ConnectionStringScheme.MongoDBPlusSrv に設定されている場合にのみ使用できます。

レプリカセットに接続する場合は使用できません。

データ型: integer
デフォルト: 0
接続 URI の例: srvMaxHosts=3

SrvServiceName

The service name of the SRV resource records
that the driver retrieves to construct your seedlist. This
property overrides the default service name for SRV lookup in
discovery and polling.

You can use this property only if the connection-string scheme is set
to ConnectionStringScheme.MongoDBPlusSrv. You cannot use it when connecting
to a replica set.

Data Type: string
Default: "mongodb"
Connection URI Example: srvServiceName="customname"

SslSettings

TLS/SSL
オプションには、クライアント証明書、失効処理、TLS/SSL プロトコルの有効化と無効化などがあります。

SslSettings.CheckCertificateRevocation falseに設定され、 が
AllowInsecureTls trueに設定されている場合、 .NET/ C#ドライバーは例外をスローします。データ型:


SslSettings デフォルト:
null
接続 URI の例:tlsDisableCertificateRevocationCheck=false

UseTls

サーバーへの接続に TLS を必要とするかどうかを指定します。
"mongodb+srv"のスキームを使用するか、その他の TLS
オプションを指定する場合、このオプションのデフォルトはtrue になります。

データ型:boolean
デフォルト:false
接続 URI の例:tls=true

WaitQueueTimeout


ドライバーがタイムアウトする前にサーバーの接続プールから接続をチェックアウトしようとする時間の長さ。

データ型: TimeSpan
デフォルト: 2 分
接続 URI 例: waitQueueTimeoutMS=0

WriteConcern

クライアントのデフォルトの書込み保証 (write concern) 設定(書込み (write) タイムアウトやジャーナリングを含む)。詳しくは、

「 書込み保証 (write concern)

」を参照してください。データ型: WriteConcern
デフォルト:WriteConcern.Acknowledged
接続 URI の例:w=majority&wTimeoutMS=0&journal=true

WriteEncoding

UTF-8 string の直列化が厳密か緩やかを指定します。
厳密なエンコーディングでは、無効な
UTF-8 バイト シーケンスが検出されると、ドライバーは例外をスローします。

データ型: UTF8Encoding
デフォルト: 厳密なエンコーディング
接続 URI の例: N/A