AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
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ログに出力します。この値は、スロー クエリ
ログとプロファイル コレクションにも記録されます。データ型:

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

AutoEncryptionOptions



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

ClusterConfigurator

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

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

コンプレッサー

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



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

ConnectTimeout

ドライバーがタイムアウトする前に、サーバーへの単一の TCP


ソケット接続を確立しようとする時間の長さ。データ型: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

ホスト6 アドレスが IPv

形式であるかどうかを指定します。データ型: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

クライアントのデフォルトの読み取り保証 (read concern)。詳細については、
読み取り保証 (read concern)

」を参照してください。データ型: ReadConcern
デフォルト:ReadConcern.Default
接続 URI の例: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

サーバー

MongoDBが を実行中いる クラスター

メンバー。データ型: IEnumerable
デフォルト:localhost:27017
接続 URI の例: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

ドライバーがシードリストを構築するために取得する SRVリソースレコードのサービス名。このプロパティは、検出およびポーリングの

SRV lookup のデフォルトのサービス名を上書きします。このプロパティは、接続文字列スキームが



ConnectionStringScheme.MongoDBPlusSrvに設定されている場合にのみ使用できます。レプリカセットに接続する場合は、


を使用できません。データ型:string
デフォルト:"mongodb"
接続 URI の例: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 文字列の直列化が厳密か緩やかかを指定します。厳密なエンコーディングでは、無効な

UTF-8 バイト

シーケンスが発生すると、ドライバーは例外をスローします。データ型:UTF8Encoding
デフォルト: 厳密なエンコーディング
接続 URI の例: 該当なし