クラス: Mongo::Client

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
ログ記録可能
定義:
build/ruby-Driver-v 2.19 /lib/mongo/client.rb

Overview

クライアントはドライバーへのエントリポイントであり、操作されるメインオブジェクトです。

以来

  • 2.0.0

定数の概要の削減

CRUD_OPTIONS =

クラスターとそのサブコンポーネントの動作に影響を与えないオプション。

以来

  • 2.1.0

[
  : auto_encryption_options,
  :database,
  :read, :read_concern,
  :write, :write_concern,
  :retry_reads, :max_read_retry, :read_retry_Interval,
  :retry_writes, :max_write_retry,

  現在ここに存在できないオプションは次のとおりです。
  #
  # :server_Selection_timeout
  # サーバー選択タイムアウトはクラスターコンストラクターが計算するために使用する
  # 互換性モードでの初期スキャンの待機時間
  クラスターが初期化されると、このタイムアウトは使用されなくなります。
  サーバー セレクターの読み取りサーバー選択がタイムアウトになりました
  # クラスター、この動作は Cluster#next_primary で必要です。
  # は引数を取りません。 next_primary が削除されたときに、元に戻すことができます
  : 異なるサーバー選択タイムアウトを持つ同じクラスター オブジェクトを使用します。
].freeze
VALID_OPTIONS =

有効なクライアント オプション。

以来

  • 2.1.2

[
  :app_name,
  :auth_mech,
  :auth_mech_properties,
  :auth_source,
  : auto_encryption_options,
  :bg_error_backtrace,
  :クリーンアップ,
  :compressors,
  :direct_ connection,
  :connect,
  :connect_timeout,
  :database,
  : heartbeat_frequency,
  :id_genator,
  :load_ ユーザー分散,
  :local_threshold,
  :logger,
  :log_prefix,
  :max_idle_time,
  :max_Pool_size,
  :max_read_retry,
  :max_write_retry,
  :min_Pool_size,
  :monitoring,
  :monitoring_io,
  :password,
  :プラットフォーム,
  :populator_io,
  :read,
  :read_concern,
  :read_retry_Interval,
  :replica_set,
  :resolve_options,
  :retry_reads,
  :retry_writes,
  :scan,
  :sdam_proc,
  :server_api,
  :server_Selection_timeout,
  :socket_timeout,
  :srv_max_hosts,
  :srv_service_name,
  :ssl,
  :ssl_ca_cert,
  :ssl_ca_cert_object,
  :ssl_ca_cert_string,
  :ssl_cert,
  :ssl_cert_object,
  :ssl_cert_string,
  :ssl_key,
  :ssl_key_object,
  :ssl_key_pass_ phrase,
  :ssl_key_string,
  :ssl_verify,
  :ssl_verify_Certificate,
  :ssl_verify_hostname,
  :ssl_verify_OCSP_endpoint,
  :trunc_logs,
  :user,
  :wait_queue_timeout,
  :ラップ_ライブラリ,
  :write,
  :write_concern,
  :zlib_compression_level,
].freeze
VALID_COMPRESSORS =

ドライバーがサポートする圧縮アルゴリズム。

以来

  • 2.5.0

[
  mongo::プロトコル::圧縮::zstd,
  mongo::プロトコル::圧縮::Snappy,
  mongo::プロトコル::圧縮::zlib
].freeze
VALID_SERVER_API_VERSIONS =

既知のサーバー API バージョン。

以来

  • 2.0.0

%w(
  1
).freeze

Loggableに含まれる定数

ログ可能::PRFIX

インスタンス属性の概要を折りたたむ

クラスメソッドの概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

Loggableに含まれるメソッド

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

コンストラクターの詳細

#初期化(address_or_uri、オプション = nil) = nil) =クライアント

新しいドライバー クライアントをインスタンス化します。

例:

単一サーバーまたは mongos クライアントをインスタンス化します。

Mongo::Client.new(['127.0.0.1:27017'])

レプリカセットのクライアントをインスタンス化します。

Mongo::Client.new(['127.0.0.1:27017', '127.0.0.1:27021'])

レプリカセット内の mongod に直接接続

Mongo::Client.new(['127.0.0.1:27017'], :connect => :direct)
# without `:connect => :direct`, Mongo::Client will discover and
# connect to the replica set if given the address of a server in
# a replica set

パラメーター:

  • address_or_uri 配列 < string > | string

    ホスト: ポートまたはMongoDB URI 接続stringの形式のサーバー アドレスの配列。

  • options ハッシュ (デフォルトはnil

    クライアントが使用するオプション。 MongoDB URI 接続stringも指定されている場合、これらのオプションは URI stringに存在する類似したオプションよりも優先されます。

オプション ハッシュ( options ):

  • :app_name stringSymbol

    サーバー バージョン 3.4 以上で接続を確立するときに mongod ログに出力されるアプリケーション名。

  • :auth_mech 記号

    使用する認証メカニズム。 :mongodb_CR、 :mongodb_x 、 :lain、 :scrim、 :scrim のいずれか 1 つ。509256

  • :auth_mech_properties ハッシュ
  • :auth_source string

    認証元。

  • :bg_error_backtrace true | false | nil | 整数

    試験用。 バックグラウンド スレッドのエラーの完全なバックトレースをログに記録するには、 true に設定します。 バックトレースをログに記録しない場合は、false または nil に設定します。 バックトレース行の数までログするには、正の整数を指定します。

  • :compressors 配列<String>

    使用する潜在的なコンプレッサーのリスト(優先順位順)。 ドライバーは、サーバーによってサポートされている最初のコンプレッサーを選択します。 現在、ドライバーは「zstd」、「Snappy」、および「zlib」のみをサポートしています。

  • :direct_ connection true | false

    トポロジー検出をバイパスして、指定されたシードに直接接続するかどうか。 シードは 1 つだけ提供する必要があります。

  • :connect 記号

    非推奨 - このオプションの代わりに :direct_ connection オプションを使用してください。 使用する接続方法。 これにより、クラスターは自動検出ではなく、指定された方法で動作するように強制されます。 : direct、 :replica_set、 :sharded、 :load_ balance のいずれか 1 つ。 :connect が :load_ Triggers に設定されている場合、ロード バランサーに接続されていない場合でも、ドライバーはサーバーがロード バランサーであるかのように動作します。

  • :connect_timeout 浮動小数

    接続を試みるためのタイムアウト(秒単位)。

  • :database string

    接続するデータベース。

  • : heartbeat_frequency 浮動小数

    サーバー モニターが hello 経由で説明を更新する間隔(秒単位)。

  • :id_genator オブジェクト

    ドキュメントの ID を生成するカスタム オブジェクト。 #generate に応答する必要があります。

  • :load_ ユーザー分散 true | false

    ロード バランサーへの接続を要求するかどうか。

  • :local_threshold 整数

    操作のために近くのサーバーを選択するためのローカルしきい値(秒単位)。

  • :logger ロガー

    使用するカスタム ロガー。

  • :log_prefix string

    ロギングのときに使用するカスタム ログ プレフィックス。 このオプションは実験的なものであり、ドライバーの将来のバージョンで変更される可能性があります。

  • :max_idle_time 整数

    プールにチェックインされてからソケットがアイドル状態を維持できる最大秒数。

  • :max_Pool_size 整数

    接続プールの最大サイズ。 このオプションを 0 に設定すると、無制限の接続プールが作成されます。

  • :max_read_retry 整数

    レガシー読み取り再試行が使用されている場合の読み取り再試行の最大回数。

  • :max_write_retry 整数

    レガシー書込み再試行が使用されている場合の書込み再試行の最大回数。

  • :min_Pool_size 整数

    接続プールの最小サイズ。

  • :monitoring truefalse

    false が指定されている場合、クライアントはグローバル SDAM イベント サブスクライブなしで初期化され、SDAM イベントを公開しません。 コマンド モニタリングとレガシー イベントは引き続き公開され、ドライバーは引き続き SDAM を実行し、そのクラスターを監視してサーバー選択を実行します。 SDAM イベントの組み込みドライバー ログ記録は、SDAM イベント サブスクライブを通じて実装されているため、無効になります。 Client#subscribe はすべてのイベント タイプで成功しますが、SDAM イベントへのサブスクライブは呼び出されません。 false 以外の値を指定すると、通常の SDAM イベント公開を実行するデフォルトの動作になります。

  • :monitoring_io truefalse

    内部ドライバーのみを使用します。 このクライアントまたはその下のサーバーによって SDAM 関連の I/O が実行されないようにするには、 false に設定します。 注: このオプションを false に設定すると、クライアントは機能を停止します。 SDAM 状態移行を手動で呼び出すテストでの使用を目的としています。

  • :クリーンアップ true | false

    内部ドライバーのみを使用します。 クラスターが切断されたときにサーバー セッションをクリーンアップするために endSessions コマンドがサーバーに送信されないように false に設定され、定期実行プログラムが起動されないようにするには に設定します。 :monitoring_io が false の場合、 :クリーンアップ も自動的に false になります。

  • :password string

    ユーザーのパスワード。

  • :プラットフォーム string

    サーバー バージョン 3.4 以上で接続を確立するときに mongod ログに出力されるメタデータに含めるプラットフォーム情報。

  • :read ハッシュ

    読み込み設定(read preference)オプション。 ハッシュには以下の項目が含まれる場合があります。

    • : モード- シンボルとして指定された読み込み設定(read preference)。有効な値は、 :primary:primary_preferred:secondary:secondary_preferred:nearestです。

    • : tags_sets - ハッシュの配列。

    • : local_threshold

  • :read_concern ハッシュ

    読み取り保証 (read concern) オプション。

  • :read_retry_Interval 浮動小数

    mongos での読み取りが再試行される間隔(秒単位)。

  • :replica_set 記号

    接続するレプリカセットの名前。 このレプリカセットに含まれないサーバーは無視されます。

  • :retry_reads true | false

    true の場合、最新の再試行可能な読み取りが有効になります(これがデフォルト)。 false の場合、最新の再試行可能な読み取りは無効になり、レガシーの再試行可能な読み取りは有効になります。

  • :retry_writes true | false

    レプリカセットまたはシャーディングされたクラスターのバージョン3.6以上に接続すると、書き込みが 1 回再試行されます。 (デフォルトは true です)。

  • :scan true | false

    コンストラクター内のすべてのシードをスキャンするかどうか。 ドライバー バージョン2 .x のデフォルトでは、次のようになります。ドライバー バージョン3 .x は コンストラクター内のシードをスキャンしません。 このオプションを false に設定して、新しい動作にオプトインします。 注:このオプションを nil に設定すると、ドライバー バージョン2 .x のコンストラクターのシードスキャンが有効になります。 ドライバー バージョン3 .x はこのオプションを認識しますが、無視し、コンストラクター内のシードをスキャンしません。

  • :sdam_proc (Proc)

    サーバーの検出とモニタリングを実行する前に、クライアントを引数として呼び出す Proc。 これを使用して、クライアント構築中に公開されたイベントを受信するように SDAM イベント リスナーを設定します。

    注記: sam_process が呼び出されるときに、クライアントは完全に構築されておらず、特にこの時点でクラスターは nil です。 sdam_proc should limit itself to calling #subscribe and #unsubscribe methods on the client only.

  • :server_api ハッシュ

    リクエストされたサーバー API バージョン。 このハッシュには、以下の項目を含めることができます。

    • :version - string

    • :strict - ブール値

    • :deprecation_errors - ブール値

  • :server_Selection_timeout 整数

    操作のサーバーを選択するためのタイムアウト時間(秒)。

  • :socket_timeout 浮動小数

    ソケットで操作を実行するためのタイムアウト(秒単位)。

  • :srv_max_hosts 整数

    シャーディングされたトポロジにドライバーが通信する mongos の最大数。 このオプションが0の場合、mongos の最大数はありません。 指定された URI が :srv_max_hosts を超えるホストに解決される場合、クライアントはランダムに :srv_max_hosts " サイズのホスト サブセットを選択します。

  • :srv_service_name string

    SRV DNS クエリで使用するサービス名。

  • :ssl truefalse

    TLS を使用するかどうか。

  • :ssl_ca_cert string

    接続のもう一方の側から渡された証明書を検証するために使用される、連結された証明機関証明書を含む ファイル。 このオプションで参照されるファイルでは、中間証明書を指定しないでください。 :ssl_verify を使用する場合は、:ssl_ca_cert、:ssl_ca_cert_string、または :ssl_ca_cert_object (優先順位順)のいずれかが必要です。

  • :ssl_ca_cert_object 配列< OpenSSL::X 509 ::Certificate>

    接続のもう一方のエンドから渡された証明書を検証するために使用される証明機関証明書を表す OpenSSL::X 509 ::Certificate オブジェクトの配列。 このオプションで参照されるファイルでは、中間証明書を指定しないでください。 :ssl_verify を使用する場合は、:ssl_ca_cert、:ssl_ca_cert_string、または :ssl_ca_cert_object (優先順位順)のいずれかが必要です。

  • :ssl_ca_cert_string string

    接続のもう一方の側から渡された証明書を検証するために使用される証明機関証明書を含む string。 このオプションでは、CA 証明書を 1 つだけドライバーに渡すことができます。 このオプションで参照されるファイルでは、中間証明書を指定しないでください。 :ssl_verify を使用する場合は、:ssl_ca_cert、:ssl_ca_cert_string、または :ssl_ca_cert_object (優先順位順)のいずれかが必要です。

  • :ssl_cert string

    MongoDB に対する接続を識別するために使用される証明書ファイル。 最初にクライアント証明書を指定し、その後に CA 証明書までの中間証明書を指定することで、証明書チェーンを渡すことができます。 ファイルには証明書の秘密キーも含まれている場合がありますが、これは無視されます。 このオプションが存在する場合、:ssl_cert_string および :ssl_cert_object の値よりも優先されます。

  • :ssl_cert_object OpenSSL::X 509 ::Certificate

    MongoDB に対する接続を識別するために使用される OpenSSL::X 509 ::Certificate 。 このオプションを介して渡すことができる証明書は 1 つだけです。

  • :ssl_cert_string string

    MongoDB に対する接続を識別するために使用される PEM でエンコードされた証明書を含む string。 最初にクライアント証明書を指定し、その後に CA 証明書までの中間証明書を指定することで、証明書チェーンを渡すことができます。 string には証明書の秘密キーも含まれる場合があります。これは無視されます。このオプションが存在する場合、次のオプションは :ssl_cert_object の値よりも優先されます。

  • :ssl_key string

    MongoDB に対する接続を識別するために使用される秘密キーファイル。 キーが証明書と同じファイルに保存されている場合でも、両方を明示的に指定する必要があることに注意してください。 This option, if present, takes precedence over the values of :ssl_key_string and :ssl_key_object

  • :ssl_key_object (OpenSSL::PKey)

    MongoDB に対する接続を識別するために使用される秘密キー

  • :ssl_key_pass_ phrase string

    秘密キーのパスフレーズ。

  • :ssl_key_string string

    MongoDB に対する接続を識別するために使用される PEM でエンコードされた秘密キーを含む string 。 このパラメーターが存在する場合、オプションの値よりも優先されます :ssl_key_object

  • :ssl_verify truefalse

    ピア証明書の検証とホスト名の検証を実行するかどうか。 :ssl_verify_Certificate が設定されている場合は、証明書を検証するかどうかの決定が上書きされ、 :ssl_verify_hostname が設定されている場合は、ホスト名を検証するかどうかの決定が上書きされることに注意してください。

  • :ssl_verify_Certificate truefalse

    ピア証明書の検証を実行するかどうか。 この設定は、証明書の検証が実行されるかどうかに関して :ssl_verify を上書きします。

  • :ssl_verify_hostname truefalse

    ピア ホスト名の検証を実行するかどうか。 この設定は、ホスト名の検証が実行されるかどうかに関して :ssl_verify を上書きします。

  • :trunc_logs truefalse

    ログをデフォルトで 250 文字で切り捨てるかどうか。

  • :user string

    ユーザー名。

  • :wait_queue_timeout 浮動小数

    接続がチェックインされるまで接続プールで待機する時間(秒単位)。

  • :ラップ_ライブラリ Array <Hash>

    に追加する、ドライバーをラップしている ODM などのライブラリに関する情報

    metadata sent to the server. Specify the lower level libraries first.
    Allowed hash keys: :name, :version, :platform.
    
  • :write ハッシュ

    非推奨。 :write_concern オプションと同等。

  • :write_concern ハッシュ

    書込み保証(write concern) オプション。 :w => Integer|String、 :wtimeout => 整数(ミリ秒単位)、 :j => ブール値、 :fsync => ブール値にすることができます。

  • :zlib_compression_level 整数

    圧縮を使用する場合、使用するzlib圧縮レベル。 有効なレベルについては、 Rubyのzlibモジュールを参照してください。

  • :resolve_options ハッシュ

    内部ドライバーのみを使用します。 SRV lookup 用の Resolve::DNS コンストラクターに渡すオプション。

  • : auto_encryption_options ハッシュ

    自動暗号化に関連するオプション。

    • :key_vault_client => クライアント | nil、暗号化のキーヴォールトを含む MongoDB インスタンスに接続されたクライアント

    • :key_vault_namespace => string、データベース.コレクション形式のキーヴォールトの名前空間。

    • : kms_providers => ハッシュ、 KMS ( KMS )構成情報のハッシュ。 有効なハッシュキーは、 :aws、 : azure、 :gcp、 :kmp、 :local です。 複数のKMSプロバイダーを指定できます。

    • : kms_tls_options => ハッシュ、KMS プロバイダーで認証するための TLS オプションのハッシュで、通常 KMIP サーバーに使用されます。 有効なハッシュキーは、 :aws、 : azure、 :gcp、 :kmp、 :local です。 複数のKMSプロバイダーを指定できます。

    • :schema_map => ハッシュ| nil は、暗号化されるフィールドを指定する 1 つ以上のコレクションの JSONSchema 。 このオプションは :schema_map_path と相互に排他的です。

      • 注: schema_map で提供されているスキーマは、クライアント側の暗号化の自動暗号化の構成にのみ適用されます。 JSON schema の他の検証ルールはドライバーによって強制されないため、エラーが発生します。

      • 注: schema_map を指定すると、サーバーから取得された JSON スキーマに依存する場合よりもセキュリティが強化されます。 これにより、誤った JSON schema を広告する悪意のサーバーから保護されます。これにより、クライアントが暗号化されなければならない暗号化されていないデータを送信する可能性があります。

      • 注:コレクションが :encrypted_fields_map と :schema_map の両方に存在する場合、エラーが発生します。

    • :schema_map_path => string | nil ファイルへのパスにはJSON schemaが含まれます

    自動暗号化ドキュメントを保存するコレクションの このオプションは :schema_map と相互に排他的です。

    • :bypass_auto_encryption => ブール値が true の場合は、自動暗号化が無効になります。のデフォルトは false です。

    • : extra_options => ハッシュ | nil は、mongocryptd の生成に関連するオプションです( API のこの部分は変更される可能性があります)。

    • :encrypted_fields_map ==================================== nil は、コレクション名前空間を、 Queryable Encryptionの暗号化されたフィールドを説明するハッシュにマッピングします。

      • 注: コレクションが encryptedFieldsMap と schemaMap の両方に存在する場合、エラーが発生します。

    • :bypass_query_analysis => ブール値 | nil、true の場合は送信コマンドの自動分析が無効になります。

    • : string ============================================= nil ] 暗号化共有ライブラリをロードするために使用されるパス。 このオプションを指定すると、libmongocrypt のデフォルトの暗号化共有ライブラリのロード パスが上書きされます。

    • :crypt_shared_lib_reRequired =>[ ブール値 | nil ] 暗号化共有ライブラリが必要かどうか。 「true」の場合、libmongocrypt によって crypt_shared ライブラリをロードできない場合は、エラーが発生します。

    自動暗号化に関する注意事項:

    • 自動暗号化は、コレクションに対する操作にのみ適用される Enterprise のみの機能です。

    • 自動暗号化は、データベースまたはビューに対する操作ではサポートされていません。

    • 自動暗号化では、認証されたユーザーが listCollections 特権を持っている必要があります。

    • 少なくとも、自動暗号化により、クライアントが一度に使用する接続数は 3 倍になる可能性があります。

    • 操作で自動暗号化に失敗した場合は、 bypass_auto_encryption: true で構成された MongoClient を使用し、 ClientEncryption.encryption.encryption を使用して、 値を手動で暗号化します。

    • クライアント側の暗号化 を有効にすると、最大書込みバッチ サイズが縮小され、パフォーマンスに悪影響が及ぶ可能性があります。

以来

  • 2.0.0



489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行489

デフォルト 初期化(address_or_uri, options = nil)
  options = options ? options.dup : {}

  srv_uri = nil
  場合 address_or_uri.is_a?(::文字列)
    uri = URI.得る(address_or_uri, options)
    場合 uri.is_a?(URI::SRVProtocol)
      URI が #SRV URI の場合、これを書き留めておきます。
      トポロジーがシャーディングされたクラスターの場合は、 SRV ポーリング。
      srv_uri = uri
    end
    address = uri.サーバー
    uri_options = uri.client_options.dup
    :write と :write_concern の特殊処理: クライアント Ruby を許可
    オプションを使用すると、Ruby オプションが
    非推奨 : 書込み (write) キーと URI オプションが現在の
    # :write_concern キー
    場合 options[:write]
      uri_options.削除(:write_concern)
    end
    options = uri_options.merge(options)
    @srv_records = uri.srv_records
  else
    address = address_or_uri
    address. 行う |addr|
      場合 addr =~ / \Amongodb(\+srv)?:\/\/ /i
        発生 ArgumentError, " Host ' #{ addr }にはプロトコルを含めることはできません。配列を使用しないということはありますか
      end
    end

    @srv_records = nil
  end

  options = 自己.クラス.Canonicalize_ruby_options(options)

  # サーバー API バージョンは string として指定されています。
  ただし、常に数字1を string として指定するのは非常に望ましくない
  したがって、ここではstring型にキャストされます。
  場合 server_api = options[:server_api]
    場合 server_api.is_a?(ハッシュ)
      server_api = オプション::編集済み.新着情報(server_api)
      場合 (バージョン = server_api[:version]).is_a?(整数)
        options[:server_api] = server_api.merge(バージョン: バージョン.to_s)
      end
    end
  end

  # クライアントでのみ使用されるため、 sam_process の特別な処理
  # 構築
  sdam_proc = options.削除(:sdam_proc)

  # glaspi service_name の場合、デフォルト オプションは ハッシュで指定されます
  #(最上位レベルから 1 レベルダウン)。
  merge_options = default_options(options)
  options. 行う |k, v|
    default_v = merge_options[k]
    場合 ハッシュ === default_v
      v = default_v.merge(v)
    end
    merge_options[k] = v
  end
  options = merge_options

  options.キー. 行う |k|
    場合 options[k].nil?
      options.削除(k)
    end
  end

  @options = validate_new_options.(options)
=開始 WriteConcern オブジェクト サポート
  の場合 @options[:write_concern].is_a?(WriteConcern::Base)
    # インスタンスをキャッシュして、不必要に再構築されないようにします。
    @write_concern = @options[:write_concern]
    @options[:write_concern] = @write_concern.options
  end
=end
  @options.freeze
  validate_options!(address, is_srv: uri.is_a?(URI::SRVProtocol))
  validate_authentication_options!

  database_options = @options.dup
  database_options.削除(:server_api)
  @database = Database.新着情報(自己, @options[:database], database_options)

  # イベント サブスクライブが有効になるように一時的にモニタリングを設定します
  クラスターがなくてもセットアップする
  @monitoring = モニタリング.新着情報(@options)

  場合 sdam_proc
    sdam_proc.を呼び出す(自己)
  end

  @connect_lock = ミューテックス.新着情報
  @connect_lock.同期 行う
    @cluster = クラスター.新着情報(address, @monitoring,
      cluster_options.merge(srv_uri: srv_uri))
  end

  begin
    # モニタリングの設定を解除します。今後はクラスターから排除されます
    delete_instance_variable('@monitoring')

    場合 @options[: auto_encryption_options]
      @connect_lock.同期 行う
        build_encrypter
      end
    end

  ヘルプ
    begin
      @cluster.閉じる
    ヘルプ => e
      log_警告("クライアントコンストラクターの例外ハンドラーでクラスターを閉じる際のエラー: #{ e .クラス} : #{ e } ")
      # この例外を削除して、元の例外が発生するようにする
    end
    発生
  end

  場合 ブロック_指定
    begin
      ノードの数(自己)
    保証する
      閉じる
    end
  end
end

インスタンス属性の詳細

#クラスター= Mongo::Cluster (readonly)

クラスター クライアント用サーバーのクラスターを返します。

次の値を返します。

  • Mongo::Cluster

    cluster クライアント用サーバーのクラスター。

以来

  • 2.0.0



137
138
139
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行137

デフォルト クラスター
  @cluster
end

#databaseMongo::Database (readonly)

クライアントが操作しているデータベースを返します。

次の値を返します。

  • Mongo::Database

    データベース クライアントが操作しているデータベース。

以来

  • 2.0.0



140
141
142
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行140

デフォルト database
  @database
end

#暗号化= Mongo::Crypt::AutoEncrypter (readonly)

自動暗号化の動作をカプセル化するオブジェクトを返します。

次の値を返します。

以来

  • 2.0.0



147
148
149
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行147

デフォルト 暗号化
  @encrypter
end

オプション=ハッシュ(読み取り専用)

オプション 構成オプションを返します。

次の値を返します。

  • ハッシュ

    options 構成オプション。

以来

  • 2.0.0



143
144
145
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行143

デフォルト options
  @options
end

クラスメソッドの詳細

Canonicalize_ruby_options (オプション) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

指定されたオプションで認証メカニズムのプロパティを小文字にする(指定されている場合)は、オプションを Options::Redact のインスタンスに変換します。

以来

  • 2.0.0



1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行1161

デフォルト Canonicalize_ruby_options(options)
  オプション::編集済み.新着情報(ハッシュ[options.map 行う |k, v|
    場合 k == :auth_mech_properties || k == ' auth_mech_properties '
      場合 v
        v = ハッシュ[v.map { |pk, pv| [pk.ダウンケース, pv] }]
      end
    end
    [k, v]
  end])
end

インスタンス メソッドの詳細

# == (その他) === (その他 ) ==================================================

このクライアントが別のオブジェクトと同等かどうかを判断します。

例:

クライアントの等価性を確認します。

client == other

パラメーター:

  • その他 オブジェクト

    比較するオブジェクト。

次の値を返します。

  • truefalse

    オブジェクトが等しい場合。

以来

  • 2.0.0



176
177
178
179
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行176

デフォルト ==(その他)
  return false ただし、 その他.is_a?(クライアント)
  クラスター == その他.クラスター & & options == その他.options
end

# [] (collection_name, options = {}) = Mongo::Collection

指定されたコレクション名のコレクション オブジェクトを取得します。

例:

コレクションを取得します。

client[:users]

パラメーター:

  • collection_name ( stringSymbol )

    コレクションの名前。

  • options ハッシュ (デフォルトは{}です)

    コレクションのオプション。

次の値を返します。

以来

  • 2.0.0



193
194
195
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行193

デフォルト [](collection_name, options = {})
  database[collection_name, options]
end

#閉じる= true

すべての接続を閉じます。

次の値を返します。

  • ( true )

    常に true

以来

  • 2.1.0



872
873
874
875
876
877
878
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行872

デフォルト 閉じる
  @connect_lock.同期 行う
    @closed = true
    do_close
  end
  true
end

# close_encrypter = true

エンクリプタを閉じ、自動暗号化リソースをクリーンアップします。

次の値を返します。

  • ( true )

    常に true

以来

  • 2.0.0



883
884
885
886
887
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行883

デフォルト close_encrypter
  @encrypter.閉じる 場合 @encrypter

  true
end

#閉じました=ブール値

次の値を返します。

  • ブール値

以来

  • 2.0.0



863
864
865
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行863

デフォルト 閉じましたか
  !!@closed
end

# cluster_options =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

以来

  • 2.0.0



618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行618

デフォルト cluster_options
  # 異なる CRUD_OPTIONS を持つ新しいクライアントが場合にクラスターを共有します
  # が要求されます。したがって、クラスターは次のいずれかを取得してはなりません
  インスタンス化に関する#オプション
  options.拒否 行う |キー, 価値|
    CRUD_OPTIONS.include?(キー.to_sym)
  end.merge(
    # ただし、認証のためにデータベースを元に戻す必要がある場合...
    database: options[:database],

    レガシー互換性のためにこれらのオプションを に含めますが、次の点に注意してください
    クライアントとクラスターの 値は一致する必要はありません。
    アプリケーションはこれらの値をクラスターではなくクライアントから読み取る必要があります
    max_read_retrys: options[:max_read_retry],
    read_retry_Interval: options[:read_retry_Interval],
  ).タップ 行う |options|
    クライアントがすでにクラスターを持っている場合は、 srv_uri を新しいクラスターに転送します
    SRV モニタリングを維持するための # クラスター。 クライアントが新しい場合、
    コンストラクターが srv_uri を手動で設定する。
    場合 クラスター
      options.update(srv_uri: クラスター.options[:srv_uri])
    end
  end
end

# database_names (filter = {}、opts = {{}) = 配列 =<String>

すべてのデータベースの名前を取得します。

例:

データベース名を取得します。

client.database_names

パラメーター:

  • フィルター ハッシュ (デフォルトは{}です)

    データベースのリストを取得するためのフィルター条件。

  • ops ハッシュ (デフォルトは{}です)

    コマンド オプション。

  • options ハッシュ

    カスタマイズ可能なオプションのセット

オプション ハッシュ( opts ):

  • : authorized_databases truefalse

    アクセス制御を可能にする場合に特権に基づいて返されるデータベースを決定するフラグ

    mongodb.com/ja-jp/docs/manual/reference/command/listDatabasesを参照してください / 詳細と使用方法の詳細については、「 」を参照してください。

  • :session セッション

    使用するセッション。

次の値を返します。

  • <String>配列未満

    データベースの名前。

以来

  • 2.0.5



936
937
938
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行936

デフォルト database_names(フィルター = {}, ops = {})
  list_databases(フィルター, true, ops).コレクション{ |info| info[' name '] }
end

#encrypted_fields_map = ハッシュ | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

クライアントの作成時に指定された場合、暗号化されたフィールド マップ ハッシュを返します。

次の値を返します。

  • (ハッシュ | nil )

    暗号化されたフィールドマップハッシュ、または設定されていない場合は nil です。

以来

  • 2.0.0



1177
1178
1179
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行1177

デフォルト encryption_fields_map
  @encrypted_fields_map ||= @options.fetch(: auto_encryption_options, {})[:encrypted_fields_map]
end

#get_session(options = {}) ⇒ Session | nil

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

可能な場合、操作に使用するセッションを返します。

:session オプションが設定されている場合、 はそのセッションを検証し、それを返します。 それ以外の場合、配置でセッションがサポートされている場合は、 は新しいセッションを作成し、それを返します。 新しいセッションが作成される際、 :暗黙的オプションが指定されている場合は、セッションは暗黙的になります(ライフサイクルはドライバーによって管理されます)。それ以外の場合は、セッションは明示的になります(アプリケーションによって管理されるライフサイクル)。 配置がセッションをサポートしていない場合、 は nil を返します。

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    カスタマイズ可能なオプションのセット

オプション ハッシュ( options ):

  • :implicit true | false

    セッションが渡されない場合、暗黙的なセッションを作成するかどうか。

  • :session セッション

    検証して返すセッション。

次の値を返します。

  • (Session | nil)

    セッションが配置でサポートされていない場合は、セッション オブジェクトまたは nil 。

以来

  • 2.0.0



1117
1118
1119
1120
1121
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行1117

デフォルト get_session(options = {})
  get_session.(options)
ヘルプ エラー::SessionsNotSupported
  nil
end

#ハッシュ=整数

クライアントのハッシュ値を取得します。

例:

クライアント ハッシュ値を取得します。

client.hash

次の値を返します。

  • (整数)

    クライアント ハッシュ値。

以来

  • 2.0.0



205
206
207
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行205

デフォルト ハッシュ
  [クラスター, options].ハッシュ
end

詳しくは、 を 検査しstring ます

クライアントの検査を string として取得します。

例:

クライアントを調べます。

client.inspect

次の値を返します。

  • ( string )

    検査string 。

以来

  • 2.0.0



681
682
683
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行681

デフォルト 検査する
  " #< Mongo::Client: 0 x #{ object_id } cluster= #{ cluster . Summary } > "
end

# list_databases (filter = {}、name_only = false、ops = {}) = Array ={}<Hash>

各データベースの情報を取得します。

例:

各データベースの情報を取得します。

client.list_databases

パラメーター:

  • フィルター ハッシュ (デフォルトは{}です)

    データベースのリストを取得するためのフィルター条件。

  • name_only truefalse (デフォルトはfalse

    完全なメタデータを持たずに各データベース名のみを返すかどうか。

  • ops ハッシュ (デフォルトは{}です)

    コマンド オプション。

  • options ハッシュ

    カスタマイズ可能なオプションのセット

オプション ハッシュ( opts ):

  • : authorized_databases truefalse

    アクセス制御を可能にする場合に特権に基づいて返されるデータベースを決定するフラグ

    mongodb.com/ja-jp/docs/manual/reference/command/listDatabasesを参照してください / 詳細と使用方法の詳細については、「 」を参照してください。

  • :session セッション

    使用するセッション。

次の値を返します。

  • <Hash>配列 )

    各データベースの 情報。

以来

  • 2.0.5



962
963
964
965
966
967
968
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行962

デフォルト list_databases(フィルター = {}, name_only = false, ops = {})
  cmd = { listDatabases: 1 }
  cmd[:nameOnly] = !!name_only
  cmd[: フィルター] = フィルター ただし、 フィルター.空の場合
  cmd[: authorizedDatabases] = true 場合 ops[: authorized_databases]
  使用(Database::管理者).database.read_command(cmd, ops).最初に[Database::データベース]
end

#list_mongo_databases(filter = {}, opts = {}) ⇒ Array<Mongo::Database>

Mongo::Database オブジェクトの一覧を返します。

例:

Mongo::Database オブジェクトの一覧を取得します。

client.list_mongo_databases

パラメーター:

  • フィルター ハッシュ (デフォルトは{}です)

    データベースのリストを取得するためのフィルター条件。

  • ops ハッシュ (デフォルトは{}です)

    コマンド オプション。

  • options ハッシュ

    カスタマイズ可能なオプションのセット

オプション ハッシュ( opts ):

次の値を返します。

  • 配列未満Mongo::Database >

    データベース オブジェクトのリスト。

以来

  • 2.5.0



985
986
987
988
989
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行985

デフォルト list_mongo_databases(フィルター = {}, ops = {})
  database_names(フィルター, ops).コレクション 行う |name|
    Database.新着情報(自己, name, options)
  end
end

# max_read_retry =整数

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

レガシー読み取り操作を使用する場合にクライアントが読み取り操作を再試行できる最大回数を取得します。

次の値を返します。

  • (整数)

    最大再試行回数。

以来

  • 2.0.0



649
650
651
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行649

デフォルト max_read_retry
  options[:max_read_retry] || クラスター::MAX_READ_RETRIES
end

# max_write_retry =整数

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

レガシー書込み再試行を使用する場合にクライアントが書込み操作を再試行できる最大回数を取得します。

次の値を返します。

  • (整数)

    最大再試行回数。

以来

  • 2.0.0



669
670
671
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行669

デフォルト max_write_retry
  options[:max_write_retry] || クラスター::MAX_WRITE_RETRIES
end

#read_concern =ハッシュ

このクライアントの 読み取り保証 (read concern) を取得します。

例:

クライアントの読み取り保証 (read concern) を取得します。

client.read_concern

次の値を返します。

  • ハッシュ

    読み取り保証 (read concern) 。

以来

  • 2.6.0



846
847
848
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行846

デフォルト read_concern
  options[:read_concern]
end

#read_preference = BSON::Document

クライアントに渡されたオプションから読み込み設定 (read preference) を取得します。

例:

読み込み設定 (read preference) を取得します。

client.read_preference

次の値を返します。

  • BSON::Document

    ユーザー定義の読み込み設定 (read preference)。 ドキュメントには、以下のフィールドが含まれる場合があります。

    • : モード- シンボルとして指定された読み込み設定(read preference)。有効な値は、 :primary:primary_preferred:secondary:secondary_preferred:nearestです。

    • : tags_sets - ハッシュの配列。

    • : local_threshold

以来

  • 2.0.0



729
730
731
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行729

デフォルト read_preference
  @read_preference ||= options[:read]
end

# read_retry_Interval =浮動小数点数

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

レガシー読み取り再試行を使用する場合の読み取り再試行の間隔を秒単位で取得します。

次の値を返します。

  • 浮動小数

    の間隔。

以来

  • 2.0.0



659
660
661
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行659

デフォルト read_retry_Interval
  options[:read_retry_Interval] || クラスター::READ_RETRY_Interval
end

#再接続= true

クライアントを再接続します。

例:

クライアントを再接続します。

client.reconnect

次の値を返します。

  • ( true )

    常に true

以来

  • 2.1.0



897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行897

デフォルト 再接続
  address = クラスター.address.map(&:to_s)

  @connect_lock.同期 行う
    do_close ヘルプ nil

    @cluster = クラスター.新着情報(address, モニタリング, cluster_options)

    場合 @options[: auto_encryption_options]
      build_encrypter
    end

    @closed = false
  end

  true
end

# server_selector = Mongo::ServerSelector

サーバー セレクターを取得します。 クライアント オプションで定義された読み取り設定を使用するか、デフォルトで プライマリ サーバー セレクターに設定されます。

例:

サーバー セレクターを取得します。

client.server_selector

次の値を返します。

  • Mongo::ServerSelector

    ユーザー定義の 読み込み設定(read preference) または プライマリ サーバー セレクターのデフォルトを使用するサーバー セレクター

以来

  • 2.5.0



707
708
709
710
711
712
713
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行707

デフォルト server_selector
  @server_selector ||= 場合 read_preference
    ServerSelector.得る(read_preference)
  else
    ServerSelector.プライマリ
  end
end

# start_session (オプション = {}) =セッション

注:

セッションは複数のスレッドで一度に使用することはできません。セッション オブジェクトはスレッドセーフではありません。

セッションを開始します。

配置がセッションをサポートしていない場合、 は Mongo::Error::InvalidSession を発生させます。 この例外は、ドライバーがデータを保持するサーバーに接続されていない場合(フェイルオーバー中など)でも発生する可能性があります。

例:

セッションを開始します。

client.start_session(causal_consistency: true)

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    セッション オプション。 Session#initialize が受け入れるオプションを受け入れます。

次の値を返します。

以来

  • 2.5.0



1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行1010

デフォルト start_session(options = {})
  セッション = get_session.(options.merge(implicit: false))
  場合 ブロック_指定
    begin
      ノードの数 セッション
    保証する
      セッション.end_session
    end
  else
    セッション
  end
end

#のサマリー= string

注:

返されるサマリーstringの正確な形式と構成は、ドライバーの公開APIの一部ではなく、いつでも変更される可能性があります。

クライアントの状態の概要を取得します。

次の値を返します。

  • ( string )

    サマリーstring 。

以来

  • 2.7.0



693
694
695
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行693

デフォルト 概要
  " #< クライアント クラスター= #{クラスター.の概要} > "
end

#update_options(new_options) ⇒ Hash

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

このクライアントのオプションを new_options から更新し、すべてのオプションを検証します。

新しいオプションは、さまざまなルールに従って変換される可能性があります。 クライアントに実際に適用されたオプションの最終ハッシュが返されます。

オプションの検証に失敗した場合、このメソッドは警告または例外を発生させる可能性があります。 このメソッドで例外が発生した場合、クライアントは破棄される必要があります(コンストラクターが例外を発生した場合と同様)。

パラメーター:

  • new_options ハッシュ

    使用する新しいオプション。

次の値を返します。

  • ハッシュ

    クライアントに書き込まれる変更された新しいオプション。

以来

  • 2.0.0



796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行796

デフォルト update_options(new_options)
  old_options = @options

  new_options = 自己.クラス.Canonicalize_ruby_options(new_options || {})

  validate_new_options.(new_options).タップ 行う |ops|
    # オプションは固定されています
    options = @options.dup
    場合 options[:write] & & ops[:write_concern]
      options.削除(:write)
    end
    場合 options[:write_concern] & & ops[:write]
      options.削除(:write_concern)
    end

    options.update(ops)
    @options = options.freeze

    auto_encryption_options_changed =
      @options[: auto_encryption_options] != old_options[: auto_encryption_options]

    # 新しい auto_encryption_options がある場合は、新しい暗号化プログラムを作成します。
    # それ以外の場合は、新しいクライアントが
    # の元のクライアントです。
    #
    auto_encryption_options が nil の場合は、 @encrypter を nil に設定しますが、次は行わないでください
    # 暗号化プログラムは元のクライアントが引き続き使用する可能性があるため、閉じます。
    場合 @options[: auto_encryption_options] & & auto_encryption_options_changed
      @connect_lock.同期 行う
        build_encrypter
      end
    elsif @options[: auto_encryption_options].nil?
      @connect_lock.同期 行う
        @encrypter = nil
      end
    end

    validate_options!
    validate_authentication_options!
  end
end

# use (name)= Mongo::Client

注:

新しいクライアントはクラスターを元のクライアントと共有し、その結果、モニタリング インスタンスとモニタリング イベント サブスクライブも共有します。

指定された名前のデータベースを使用し、このクライアントで構成された他のオプションを使用するように構成された新しいクライアントを作成します。

例:

「ユーザー」データベースのクライアントを作成します。

client.use(:users)

パラメーター:

  • name ( stringSymbol )

    使用するデータベースの名前。

次の値を返します。

  • Mongo::Client

    新しいクライアント インスタンス。

以来

  • 2.0.0



748
749
750
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行748

デフォルト 使用(name)
  と共に(database: name)
end

多数表示 (パイプライン = []、オプション = {}) = ChangeStream

注:

変更ストリームでは「majority」の読み取り保証のみが許可されます。

注:

このヘルパー メソッドは、再開可能性をサポートするために、 $changeStream ステージで未加工の集計を実行するよりも推奨されます。

MongoDB サーバーのバージョン3.6以降、$changeStream" パイプライン ステージは集計フレームワークでサポートされています。 バージョン4.0以降、このステージでは、クライアントのクラスターで発生するすべての変更に対して通知が送信されるようリクエストできます。

例:

クライアントのクラスターの変更通知を取得します。

client.watch([{ '$match' => { operationType: { '$in' => ['insert', 'replace'] } } }])

パラメーター:

  • パイプライン Array <Hash> (デフォルトは[]

    任意の追加のフィルター演算子。

  • options ハッシュ (デフォルトは{}です)

    変更ストリーム オプション。

オプション ハッシュ( options ):

  • : full_document string

    許可された値: nil、"default"、"updateLookup"、"whenAvalable"、"Required"

    デフォルトでは値は送信されません( nil)は、「デフォルト」と同等です。 デフォルトでは、部分的な更新の変更通知には、ドキュメントに対する変更を説明するデルタが含まれます。

    「updateLookup」に設定されている場合、部分的な更新の変更通知には、ドキュメントに対する変更を説明するデルタと、変更が発生した後一定時間後に変更されたドキュメント全体のコピーの両方が含まれます。

    「whenAvalable」に設定すると、このイベントの変更後のイメージが利用可能な場合、置換および更新される変更イベントのために変更されたドキュメントの変更後のイメージを返すように変更ストリームを構成します。

    「必須」に設定すると、「whenAvalable」と同じ動作をしますが、変更後のイメージが利用できない場合はエラーが発生します。

  • : full_document_Before_change string

    許可された値は: nil、"whenAvalable"、"Required"、"OFF" の場合、

    デフォルトでは値は送信されません( nil)は、「オフ」と同じです。

    「 whenAvalable 」に設定すると、 は、使用可能な場合、変更イベントの置換、アップデート、削除のために変更されたドキュメントの変更前のイメージを返すように変更ストリームを構成します。

    「必須」に設定すると、「whenAvalable」と同じ動作をしますが、変更前のイメージが利用できない場合はエラーが発生します。

  • :resume_ after BSON::Documentハッシュ

    新しい変更ストリームの論理的な開始点を指定します。

  • :max_await_time_ms 整数

    新しいドキュメントが変更ストリーム クエリを満たすまでにサーバーが待機する最大時間。

  • :batch_size 整数

    バッチするごとに返すドキュメントの数。

  • :collation BSON::Documentハッシュ

    使用する照合。

  • :session セッション

    使用するセッション。

  • :start_at_operation_time BSON::Timestamp

    指定されたタイムスタンプの時点またはその後に発生した変更のみを返します。 サーバーに対して実行されたコマンドは、ここで使用できるクラスター時間を返します。 サーバー バージョン4.0 + によってのみ認識されます。

  • :comment オブジェクト

    このコマンドに添付するユーザー指定のコメント。

  • :show_expanded_events ブール値

    サーバーが変更ストリーム イベントの「展開」リストを送信できるようにします。 このフラグセットに含まれる追加のイベントのリストは、createIndexes、dropIndexes、変更、作成、shardCollection、reshardCollection、 refineCollectionShardKey です。

次の値を返します。

  • ChangeStream

    変更ストリーム オブジェクト。

以来

  • 2.6.0



1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行1087

デフォルト 監視(パイプライン = [], options = {})
  return 使用(Database::管理者).監視(パイプライン, options) ただし、 database.name == Database::管理者

  view_options = options.dup
  view_options[:await_data] = true 場合 options[:max_await_time_ms]

  mongo::コレクション::ビュー::ChangeStream.新着情報(
    mongo::コレクション::ビュー.新着情報(自己[" #{データベース::コマンド} .aggregate "], {}, view_options),
    パイプライン,
    mongo::コレクション::ビュー::ChangeStream::クラスターのライブ移行,
    options)
end

new_options = nil) ================================================

注:

指定されたオプションに応じて、返されたクライアントは元のクライアントとクラスターを共有するか、新しいクラスターで作成される場合があります。 新しいクラスターが作成される場合、新しいクライアントのモニタリング イベント サブスクライブはデフォルトのイベント サブスクライブに設定され、元のクライアント上のサブスクライブはいずれもコピーされません。

渡されたオプションがこのクライアントの既存のオプションにマージされて、新しいクライアントを作成します。 元のクライアントを変更せずに特定のオプションを変更するだけの に便利です。

例:

変更されたオプションを持つクライアントを取得します。

client.with(:read => { :mode => :primary_preferred })

パラメーター:

  • new_options ハッシュ (デフォルトはnil

    使用する新しいオプション。

次の値を返します。

  • Mongo::Client

    新しいクライアント インスタンス。

以来

  • 2.0.0



770
771
772
773
774
775
776
777
778
779
780
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行770

デフォルト と共に(new_options = nil)
  複製.タップ 行う |クライアント|
    ops = クライアント.update_options(new_options || オプション::編集済み.新着情報)
    Database.create(クライアント)
    # 影響を受けるオプションが ある場合、同じクラスターを使用できません
    # が変更されました。
    場合 cluster_moding?(ops)
      クラスター.create(クライアント, 監視: ops[:monitoring])
    end
  end
end

# with_session (オプション = {}, &stream) =オブジェクト

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

可能な場合、操作に使用するセッションを作成し、それを指定された ブロックに渡す。

:session オプションが設定されている場合、 はそのセッションを検証し、それを使用します。 それ以外の場合、配置でセッションがサポートされている場合は、 では新しいセッションが作成され、それが使用されます。 新しいセッションが作成される際、 :暗黙的オプションが指定されている場合は、セッションは暗黙的になります(ライフサイクルはドライバーによって管理されます)。それ以外の場合は、セッションは明示的になります(アプリケーションによって管理されるライフサイクル)。 配置がセッションをサポートしていない場合、 は nil をブロックに提供します。

ブロックが終了すると、セッションが作成され暗黙的であった場合、または暗黙的なセッションが渡された場合、セッションは終了され、利用可能なセッションのプールに返されます。

パラメーター:

  • options ハッシュ (デフォルトは{}です)

    カスタマイズ可能なオプションのセット

オプション ハッシュ( options ):

  • :implicit true | false

    セッションが渡されない場合、暗黙的なセッションを作成するかどうか。

  • :session セッション

    検証して返すセッション。

以来

  • 2.0.0



1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行1143

デフォルト with_session(options = {}, &ブロック)
  # TODO: これを Ruby- 3174で追加します。
  #assert_not_closed

  セッション = get_session(options)

  ノードの数 セッション
保証する
  場合 セッション & & セッション.implicit?
    セッション.end_session
  end
end

#write_concern = Mongo::WriteConcern

このクライアントの 書込み保証 (write concern) を取得します。 オプションが指定されていない場合は、デフォルトの単一サーバー確認応答が使用されます。

例:

クライアントの書込み保証 (write concern) を取得します。

client.write_concern

次の値を返します。

以来

  • 2.0.0



859
860
861
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/client.rb', 行859

デフォルト write_concern
  @write_concern ||= WriteConcern.得る(options[:write_concern] || options[:write])
end