Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Docs Menu
Docs Home
/ / /
C#/.NET ドライバー
/

接続オプションの指定

このページでは、 .NET/ C#ドライバーで使用できる接続オプションについて説明し、それらをMongoDB接続に適用する方法について説明します。

次のセクションでは、接続オプションを指定する方法について説明します。

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

const string uri = "mongodb+srv:/localhost:27017/?connectTimeoutMS=60000&tls=true";

接続 URI で指定できるオプションの詳細については、 MongoDB Serverマニュアルの 接続文字列オプション を参照してください。

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

MongoClientSettingsオブジェクトで接続オプションを設定するには、次の手順を実行します。

  1. MongoClientSettingsクラスのインスタンスを作成する

  2. 接続を構成するためのインスタンスのプロパティを設定します

  3. インスタンスを MongoClient コンストラクターに渡す

次のコード例は、前述の手順を実行する方法を示しています。

var settings = new MongoClientSettings()
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
Server = new MongoServerAddress("localhost", 27017),
ConnectTimeout = TimeSpan.FromMilliseconds(60000),
UseTls = true
};
var client = new MongoClient(settings);

次の例に示すように、MongoClientSettings.FromConnectionString() メソッドを呼び出し、接続文字列を渡すことで、接続文字列から MongoClientSettingsオブジェクトを作成することもできます。 これは、接続文字列はすでにあるが、一部の設定をプログラムで変更したい場合や、接続文字列で使用できない設定を指定する必要がある場合に役立ちます。

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var settings = MongoClientSettings.FromConnectionString(connectionUri);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
var client = new MongoClient(settings);

あるいは、次の例に示すように、MongoClientSettings.FromUrl() メソッドを呼び出し、MongoUrlオブジェクトを渡すことで、MongoUrlオブジェクトから MongoClientSettingsオブジェクトを作成することもできます。これは、MongoUrlオブジェクトはすでに存在するが、MongoUrlクラスでは利用できない設定を指定する場合に便利です。

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var url = new MongoUrl(connectionUri);
var settings = MongoClientSettings.FromUrl(url);
settings.ServerApi = new ServerApi(ServerApiVersion.V1);
var client = new MongoClient(settings);

MongoUrlBuilderオブジェクトを使用して、MongoUrlオブジェクトの接続設定を作成および構成できます。MongoUrl は、接続 URI の厳密に型指定された表現であり、別のソースから接続 URI を直接読み取る場合に便利です。MongoUrlオブジェクトの使用には、 MongoClientSettingsオブジェクトの使用と同じ利点が多数ありますが、これら 2 つのクラスに含まれるプロパティとメソッドは異なります。

MongoUrlBuilderオブジェクトを使用するには、クラスのインスタンスを作成し、必要な構成プロパティを設定します。MongoUrlBuilder から MongoUrlオブジェクトを作成するには、MongoUrlBuilder.ToMongoUrl() メソッドを呼び出します。MongoUrlオブジェクトをMongoClient コンストラクターに渡すことができます。次のコード例は、このプロセスを示しています。

const string connectionUri = "mongodb+srv://localhost:27017/?connectTimeoutMS=60000&tls=true";
var builder = new MongoUrlBuilder(connectionUri)
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};
var url = builder.ToMongoUrl();
var client = new MongoClient(url);

次のセクションでは、 .NET/ C#ドライバーで使用できる接続オプションと、MongoClientSettings または MongoUrlBuilderオブジェクトを使用してそれらを指定する方法について説明します。

すべての操作をホストに強制的にディスパッチするかどうかを指定します。このオプションを指定すると、ドライバーはDNSシードリスト接続形式を受け入れません。代わりに、標準の接続 URI形式を使用する必要があります。デフォルト値は false です。

複数のホスト名を指定する場合、このプロパティを false に設定する必要があります。

var settings = new MongoClientSettings
{
DirectConnection = true,
};

接続するレプリカセットの名前。 デフォルト値は null です。

var settings = new MongoClientSettings
{
ReplicaSetName = "yourReplicaSet",
};

すべての操作をホストに強制的にディスパッチするかどうかを指定します。このオプションを指定すると、ドライバーはDNSシードリスト接続形式を受け入れません。代わりに、標準の接続 URI形式を使用する必要があります。デフォルト値は false です。

複数のホスト名を指定する場合、このプロパティを false に設定する必要があります。

var builder = new MongoUrlBuilder
{
DirectConnection = true,
};

接続するレプリカセットの名前。 デフォルト値は null です。

var builder = new MongoUrlBuilder
{
ReplicaSetName = "yourReplicaSet",
};

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

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

次のコード例は、このオプションを true に設定する方法を示しています。

var settings = new MongoClientSettings
{
AllowInsecureTls = true,
};

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

SslSettings.CheckCertificateRevocationfalse に設定され、AllowInsecureTlstrue に設定されている場合、 .NET/ C#ドライバーは例外をスローします。

var settings = new MongoClientSettings();
settings.SslSettings = new SslSettings()
{
CheckCertificateRevocation = false,
ClientCertificateSelectionCallback = new LocalCertificateSelectionCallback() { ... },
ClientCertificates = new List<X509Certificate>() { ... },
EnabledSslProtocols = SslProtocols.Tls13,
ServerCertificateValidationCallback = new RemoteCertificateValidationCallback() { ... }
};

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

var settings = new MongoClientSettings
{
UseTls = true,
};

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

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

次のコード例は、このオプションを true に設定する方法を示しています。

var builder = new MongoUrlBuilder
{
AllowInsecureTls = true,
};

TLS ハンドシェイク中に証明書失効チェックを無効にするかどうか。デフォルト値は false です。

var builder = new MongoUrlBuilder
{
TlsDisableCertificateRevocationCheck = true
};

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

var builder = new MongoUrlBuilder
{
UseTls = true,
};

ドライバーがタイムアウトする前に、サーバーへの単一の TCP ソケット接続を確立しようとする時間の長さ。デフォルト値は 30 秒です。

var settings = new MongoClientSettings
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

ドライバーがタイムアウトする前にソケット上で送信または受信を試みる時間の長さ。デフォルト値はオペレーティング システムによって設定されます。

var settings = new MongoClientSettings
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

ドライバーがタイムアウトする前に、サーバーへの単一の TCP ソケット接続を確立しようとする時間の長さ。デフォルト値は 30 秒です。

var builder = new MongoUrlBuilder
{
ConnectTimeout = TimeSpan.FromSeconds(60),
};

ドライバーがタイムアウトする前にソケット上で送信または受信を試みる時間の長さ。デフォルト値はオペレーティング システムによって設定されます。

var builder = new MongoUrlBuilder
{
SocketTimeout = TimeSpan.FromSeconds(60),
};

サーバーとの間で送受信されるワイヤプロトコル メッセージの 優先圧縮タイプ 。ドライバーは、サーバーがサポートする最初の圧縮タイプを使用します。デフォルト値は null です。

var settings = new MongoClientSettings
{
Compressors = new List<CompressorConfiguration>()
{
new(CompressorType.Zlib),
new(CompressorType.Snappy)
}
};

サーバーとの間で送受信されるワイヤプロトコル メッセージの 優先圧縮タイプ 。ドライバーは、サーバーがサポートする最初の圧縮タイプを使用します。デフォルト値は null です。

var builder = new MongoUrlBuilder
{
Compressors = new List<CompressorConfiguration>()
{
new(CompressorType.Zlib),
new(CompressorType.Snappy)
}
};

ドライバーの接続プールが同時に確立できる接続の最大数。デフォルト値は 2 です。

var settings = new MongoClientSettings
{
MaxConnecting = 3,
};

ドライバーが接続を閉じる前に接続がアイドル状態になる時間の長さ。デフォルト値は 10 分です。

var settings = new MongoClientSettings
{
MaxConnectionIdleTime = TimeSpan.FromMinutes(8),
};

期限が切れる前に接続をプールできる時間の長さ。デフォルト値は 30 分です。

var settings = new MongoClientSettings
{
MaxConnectionLifeTime = TimeSpan.FromMinutes(40),
};

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

var settings = new MongoClientSettings
{
MaxConnectionPoolSize = 150,
};

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

var settings = new MongoClientSettings
{
MinConnectionPoolSize = 3,
};

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

var settings = new MongoClientSettings
{
WaitQueueTimeout = TimeSpan.FromSeconds(30),
};

ドライバーの接続プールが同時に確立できる接続の最大数。デフォルト値は 2 です。

var builder = new MongoUrlBuilder
{
MaxConnecting = 3,
};

ドライバーが接続を閉じる前に接続がアイドル状態になる時間の長さ。デフォルト値は 10 分です。

var builder = new MongoUrlBuilder
{
MaxConnectionIdleTime = TimeSpan.FromMinutes(8),
};

期限が切れる前に接続をプールできる時間の長さ。デフォルト値は 30 分です。

var builder = new MongoUrlBuilder
{
MaxConnectionLifeTime = TimeSpan.FromMinutes(40),
};

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

var builder = new MongoUrlBuilder
{
MaxConnectionPoolSize = 150,
};

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

var builder = new MongoUrlBuilder
{
MinConnectionPoolSize = 3,
};

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

var builder = new MongoUrlBuilder
{
WaitQueueTimeout = TimeSpan.FromSeconds(30),
};

クライアントのデフォルトの書込み保証 (write concern) 設定(書込み (write) タイムアウトやジャーナリングを含む)。デフォルト値は WriteConcern.Acknowledged です。詳細については、 MongoDB Serverマニュアルの書込み保証を参照してください。

var settings = new MongoClientSettings();
settings.WriteConcern = MongoDB.Driver.WriteConcern.Acknowledged;
settings.WriteConcern = new WriteConcern(
w: 1,
wTimeout: new TimeSpan(0, 0, 0, 30, 0),
fsync: true,
journal: true
);

書込み保証 (write concern)の FSync コンポーネント。デフォルト値は false です。fsync コマンドの詳細については、 MongoDB Serverマニュアルのfsync を参照してください。

var builder = new MongoUrlBuilder
{
FSync = true
};

書込み保証 (write concern)の j コンポーネントは、 MongoDBインスタンスがオンディスクのジャーナルに書き込んだことの確認を要求します。デフォルト値は、writeConcernMajorityJournalDefault 設定の値によって異なります。j オプションの詳細については、 MongoDB Serverマニュアルの「 書込み保証 」を参照してください。

var builder = new MongoUrlBuilder
{
Journal = true
};

書込み保証 (write concern)の w コンポーネント。指定された数のMongoDBインスタンスに書込み (write)操作が反映されたことの確認応答を要求します。デフォルト値は、アービタと投票ノードの数に応じて "majority" または 1 です。w オプションの詳細については、 MongoDB Serverマニュアルの書込み保証を参照してください。

var builder = new MongoUrlBuilder
{
W = 2
};

書込み保証 (write concern)の時間制限を指定する書込み保証 (write concern)の wtimeout コンポーネント。wtimeout オプションの詳細については、 MongoDB Serverマニュアルの書込み保証を参照してください。

var builder = new MongoUrlBuilder
{
WTimeout = TimeSpan.FromSeconds(5)
};

クライアントの読み取り保証 (read concern)。デフォルト値は ReadConcern.Default です。詳細については、 MongoDB Serverマニュアルの読み取り保証を参照してください。

var settings = new MongoClientSettings
{
ReadConcern = MongoDB.Driver.ReadConcern.Local,
};

クライアントの読み取り保証 (read concern)レベルデフォルト値は ReadConcern.Local です。詳しくは、 「 読み取り保証 (read concern) 」を参照してください。

var builder = new MongoUrlBuilder
{
ReadConcernLevel = MongoDB.Driver.ReadConcernLevel.Local,
};

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

var settings = new MongoClientSettings
{
ReadPreference = MongoDB.Driver.ReadPreference.PrimaryPreferred,
};

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

var builder = new MongoUrlBuilder
{
ReadPreference = MongoDB.Driver.ReadPreference.PrimaryPreferred,
};

ドライバーがサーバーに対して認証する方法の設定。これには、認証情報、メカニズム、ソース、およびその他の設定が含まれます。デフォルト値は null です。

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

var settings = new MongoClientSettings
{
Credential = MongoCredential.CreatePlainCredential(
databaseName: "admin",
username: "user",
password: "password"
)
};

ドライバーがMongoDB Serverへの認証に使用するメカニズム。認証メカニズムを指定しない 場合、ドライバーはサーバーのバージョンに応じて SCRAM-SHA-1 または SCRAM-SHA-256 のいずれかを使用します。使用可能な認証メカニズムについては、「認証メカニズム」を参照してください。

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

AuthenticationMechanismプロパティで指定される認証メカニズムの構成設定。

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

クライアントを認証するためのソース。

var builder = new MongoUrlBuilder
{
AuthenticationMechanism = "GSSAPI",
AuthenticationMechanismProperties = new Dictionary<string, string>
{
{ "SERVICE_NAME", "other" },
{ "CANONICALIZE_HOST_NAME", "true" }
},
AuthenticationSource = "db"
};

認証に使用するパスワード。

var builder = new MongoUrlBuilder
{
Username = "user",
Password = "password"
};

認証に使用するユーザー名。

var builder = new MongoUrlBuilder
{
Username = "user",
Password = "password"
};

定期的なサーバー監視チェックの間隔。500 ミリ秒以上である必要があります。デフォルト値は 10000 ミリ秒(10 秒)です。

var settings = new MongoClientSettings
{
HeartbeatInterval = TimeSpan.FromSeconds(5)
};

監視ソケットがタイムアウトするまでアイドル状態を維持できる時間の長さ。デフォルト値は ConnectTimeoutプロパティの値です。

var settings = new MongoClientSettings
{
HeartbeatTimeout = TimeSpan.FromSeconds(5)
};

サーバーの適格性のレイテンシウィンドウ。サーバーの往復時間が、最速のサーバーの往復時間とこの値よりも長い時間がかかる場合、そのサーバーは選択対象になりません。デフォルト値は 15 ミリ秒です。

var settings = new MongoClientSettings
{
LocalThreshold = TimeSpan.FromSeconds(15)
};

サーバーの適格性のレイテンシウィンドウ。サーバーの往復時間が、最速のサーバーの往復時間とこの値よりも長い時間がかかる場合、そのサーバーは選択対象になりません。デフォルト値は 15 ミリ秒です。

var settings = new MongoClientSettings
{
ServerSelectionTimeout = TimeSpan.FromSeconds(30)
};

定期的なサーバー監視チェックの間隔。500 ミリ秒以上である必要があります。デフォルト値は 10000 ミリ秒(10 秒)です。

var builder = new MongoUrlBuilder
{
HeartbeatInterval = TimeSpan.FromSeconds(5)
};

監視ソケットがタイムアウトするまでアイドル状態を維持できる時間の長さ。デフォルト値は ConnectTimeoutプロパティの値です。

var builder = new MongoUrlBuilder
{
HeartbeatTimeout = TimeSpan.FromSeconds(5)
};

サーバーの適格性のレイテンシウィンドウ。サーバーの往復時間が、最速のサーバーの往復時間とこの値よりも長い時間がかかる場合、そのサーバーは選択対象になりません。デフォルト値は 15 ミリ秒です。

var builder = new MongoUrlBuilder
{
LocalThreshold = TimeSpan.FromSeconds(15)
};

サーバーの適格性のレイテンシウィンドウ。サーバーの往復時間が、最速のサーバーの往復時間とこの値よりも長い時間がかかる場合、そのサーバーは選択対象になりません。デフォルト値は 15 ミリ秒です。

var builder = new MongoUrlBuilder
{
ServerSelectionTimeout = TimeSpan.FromSeconds(30)
};

string のデシリアライズに使用する UTF-8 エンコーディング。デフォルト値は厳密なエンコーディングで、無効な UTF-8 バイト シーケンスが発生するとドライバーは例外をスローします

var settings = new MongoClientSettings
{
ReadEncoding = new UTF8Encoding(
encoderShouldEmitUTF8Identifier: false,
throwOnInvalidBytes: true)
};

文字列の直列化に使用する UTF-8 エンコーディング。 デフォルト値は厳密なエンコーディングで、無効な UTF-8 バイト シーケンスが発生するとドライバーは例外をスローします

var settings = new MongoClientSettings
{
WriteEncoding = new UTF8Encoding(
encoderShouldEmitUTF8Identifier: false,
throwOnInvalidBytes: true)
};

注意

MongoClientSettings Only

ReadEncoding プロパティと WriteEncoding プロパティは MongoClientSettingsクラスでのみ使用できます。

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

var settings = new MongoClientSettings
{
ServerApi = new ServerApi(
ServerApiVersion.V1,
strict: true,
deprecationErrors: true),
};

注意

MongoClientSettings Only

ServerApiプロパティはMongoClientSettingsクラスでのみ使用できます。

再試行可能な読み取りを有効にします。 デフォルト値は true です。

var settings = new MongoClientSettings
{
RetryReads = false,
};

再試行可能な書き込みを有効にします。 デフォルト値は true です。

var settings = new MongoClientSettings
{
RetryWrites = false,
};

再試行可能な読み取りを有効にします。 デフォルト値は true です。

var builder = new MongoUrlBuilder
{
RetryReads = false,
};

再試行可能な書き込みを有効にします。 デフォルト値は true です。

var builder = new MongoUrlBuilder
{
RetryWrites = false,
};

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

var settings = new MongoClientSettings
{
ApplicationName = "yourAppName",
};

自動クライアント側暗号化の設定。デフォルト値は null です。クライアント側の暗号化の詳細については、「 使用中の暗号化 」を参照してください。

var settings = new MongoClientSettings
{
AutoEncryptionOptions = new AutoEncryptionOptions(
keyVaultNamespace: new CollectionNamespace(
databaseName: "keyvault",
collectionName: "datakeys"),
kmsProviders: new Dictionary<string, IReadOnlyDictionary<string, object>> ()
{
{ "local", new Dictionary<string, object> () { { "key", "<base64-encoded-key>" } } }
}
),
};

ソケット、TLS、クラスターなどの低レベル構成オプション。 デフォルト値は null です。

var settings = new MongoClientSettings
{
ClusterConfigurator = builder =>
{
builder
.Subscribe<ClusterOpenedEvent>(e =>
{
Console.WriteLine($"Cluster opened: Cluster ID = {e.ClusterId}");
})
.Subscribe<ClusterDescriptionChangedEvent>(e =>
{
Console.WriteLine($"Cluster description changed: {e.NewDescription}");
});
}
};

ホスト アドレスが IPv6形式であるかどうかを指定します。デフォルト値は false です。

var settings = new MongoClientSettings
{
IPv6 = true,
};

設定が固定されているかどうかを示す読み取り専用オプション。固定された設定を変更することはできません。デフォルト値は false です。

var settings = new MongoClientSettings();
if (!settings.IsFrozen)
{
settings.RetryReads = false;
}

Tip

設定を固定する

MongoClientSettingsオブジェクトの 設定をフリーズするには、その freeze() メソッドを呼び出します。これにより、設定がそれ以上変更されなくなります。

あるいは、FrozenCopy() メソッドを呼び出して、現在の設定が固定された新しいMongoClientSettings オブジェクトを作成することもできます。

.NET/ C#ドライバーに構築されたカスタム ライブラリの名前とバージョン。ドライバーはこの情報をサーバーに送信します。

var settings = new MongoClientSettings
{
LibraryInfo = new LibraryInfo("customLibraryName", "1.0.0")
};

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

  • ホスト名を 1 つだけ指定

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

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

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

デフォルト値は false です。

var settings = new MongoClientSettings
{
LoadBalanced = true,
};

ログ記録に使用される設定。デフォルト値は null です。

var settings = new MongoClientSettings
{
LoggingSettings = new LoggingSettings(
LoggerFactory.Create(l =>
l.SetMinimumLevel(LogLevel.Debug)))
};

標準の接続文字列形式(MongoDB )を使用するか、DNSシードリスト形式(MongoDBPlusSrv )を使用するかを指定します。このプロパティで使用可能な値は、 ConnectionStringScheme列挙で定義されます。デフォルト値は です。接続文字列の形式の詳細については、ConnectionStringScheme.MongoDB MongoDB Serverマニュアルの「接続文字列文字列 」を参照してください。

DirectConnectionプロパティが true に設定されている場合に DNSシードリスト形式を使用しようとすると、 .NET/ C#ドライバーは例外をスローします。

var settings = new MongoClientSettings
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
};

MongoDB が実行されているホストとポート番号。 デフォルト値は localhost:27017 です。

var settings = new MongoClientSettings
{
Server = new MongoServerAddress("localhost", 27017)
};

使用するサーバー監視プロトコルを指定します。このプロパティで使用可能な値は、 ServerMonitoringMode列挙で定義されます。デフォルト値は Autoです。

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

var settings = new MongoClientSettings
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};

MongoDB が実行されているクラスター ノード。 デフォルト値は localhost:27017 です。

var settings = new MongoClientSettings
{
Servers = new List<MongoServerAddress>()
{
new ("localhost", 27017),
new ("localhost", 27018)
}
};

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

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

var settings = new MongoClientSettings
{
SrvMaxHosts = 5
};

ドライバーがシードリストを構築するために取得する SRVリソースレコードのサービス名。ドライバーは、サービス名を使用して、次の形式に一致する SRV URI を作成します。

_{srvServiceName}._tcp.{hostname}.{domainname}

このプロパティは、検出およびポーリングの SRV lookup のデフォルトのサービス名を上書きします。デフォルト値は "mongodb" です。

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

var settings = new MongoClientSettings
{
SrvServiceName = "yourServiceName"
};

LINQ クエリを クエリAPIに変換するためのMongoDB Serverバージョンなどのオプションを指定します。デフォルト値は null です。

var settings = new MongoClientSettings
{
TranslationOptions = new ExpressionTranslationOptions()
{
CompatibilityLevel = ServerVersion.Server80,
EnableClientSideProjections = true
}
};

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

var builder = new MongoUrlBuilder
{
ApplicationName = "yourAppName",
};

クライアントが接続するデータベースの名前。

var builder = new MongoUrlBuilder
{
DatabaseName = "test_database"
};

ホスト アドレスが IPv6形式であるかどうかを指定します。デフォルト値は false です。

var builder = new MongoUrlBuilder
{
IPv6 = true,
};

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

  • ホスト名を 1 つだけ指定

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

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

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

デフォルト値は false です。

var builder = new MongoUrlBuilder
{
LoadBalanced = true,
};

標準の接続文字列形式(MongoDB )を使用するか、DNSシードリスト形式(MongoDBPlusSrv )を使用するかを指定します。このプロパティで使用可能な値は、 ConnectionStringScheme列挙で定義されます。デフォルト値は です。接続文字列の形式の詳細については、ConnectionStringScheme.MongoDB MongoDB Serverマニュアルの「接続文字列文字列 」を参照してください。

DirectConnectionプロパティが true に設定されている場合に DNSシードリスト形式を使用しようとすると、 .NET/ C#ドライバーは例外をスローします。

var builder = new MongoUrlBuilder
{
Scheme = ConnectionStringScheme.MongoDBPlusSrv,
};

MongoDB が実行されているホストとポート番号。 デフォルト値は localhost:27017 です。

var builder = new MongoUrlBuilder
{
Server = new MongoServerAddress("localhost", 27017)
};

使用するサーバー監視プロトコルを指定します。このプロパティで使用可能な値は、 ServerMonitoringMode列挙で定義されます。デフォルト値は Autoです。

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

var builder = new MongoUrlBuilder
{
ServerMonitoringMode = MongoDB.Driver.Core.Servers.ServerMonitoringMode.Stream
};

MongoDB が実行されているクラスター ノード。 デフォルト値は localhost:27017 です。

var builder = new MongoUrlBuilder
{
Servers = new List<MongoServerAddress>()
{
new ("localhost", 27017),
new ("localhost", 27018)
}
};

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

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

var builder = new MongoUrlBuilder
{
SrvMaxHosts = 5
};

ドライバーがシードリストを構築するために取得する SRVリソースレコードのサービス名。ドライバーは、サービス名を使用して、次の形式に一致する SRV URI を作成します。

_{srvServiceName}._tcp.{hostname}.{domainname}

このプロパティは、検出およびポーリングの SRV lookup のデフォルトのサービス名を上書きします。デフォルト値は "mongodb" です。

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

var builder = new MongoUrlBuilder
{
SrvServiceName = "yourServiceName"
};

このページで使用されているタイプの詳細については、次のAPIドキュメントを参照してください。

戻る

接続ターゲットの選択