クラス: Mongo::Database::View

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
列挙可能、カーソル::NonTailable 、CursorHost 、再試行可能
定義:
lib/mongo/database/view.rb

Overview

データベースの ビュー を表すクラス。

以来

  • 2.0.0

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

CursorHost に含まれる属性

#cursor, #timeout_mode

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

Cursor に含まれるメソッド::NonTailable

#cursor_type, #timeout_mode

CursorHost に含まれるメソッド

#validate_timeout_mode!

再試行可能な に含まれるメソッド

#read_worker、#select_server、#with_overload_retry、#write_worker

コンストラクターの詳細

#initialize(database, options = {}) ⇒ View

新しいデータベース ビューを作成します。

例:

新しいデータベース ビューを作成します。

Database::View.new(database)

パラメーター:

  • database (Database) —

    データベース。

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

    ビューを構成するオプション。

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

  • :timeout_mode ( :cursor_Lifetime | :iteration ) —

    :timeout_ms の解釈方法(カーソルの有効期間、または反復ごとに適用されるかどうか)。

  • :timeout_ms (整数) —

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、データベースまたはクライアントから値が継承されることを意味します。

以来

  • 2.0.0



143
144
145
146
147
148
149
150
151
152
# ファイル 'lib/mongo/ データベース/view.rb', 行 143

デフォルト 初期化(database, options = {})
  @database = database
  @operation_timeout_ms = options.削除(:timeout_ms)

  validate_timeout_mode!(options)

  @batch_size = nil
  @limit = nil
  @collection = @database[Database::コマンド]
end

インスタンス属性の詳細

# batch_size =整数(読み取り専用)

Batch_size listCollections コマンドを送信する際の結果のバッチのサイズを返します。

次の値を返します。

  • (整数) —

    batch_size listCollections コマンドを送信する際の結果のバッチのサイズ。

以来

  • 2.0.0



38
39
40
# ファイル 'lib/mongo/ データベース/view.rb', 行 38

デフォルト batch_size
  @batch_size
end

#コレクション=コレクション(読み取り専用)

コレクション コマンドのコレクションを返します。

次の値を返します。

以来

  • 2.0.0



44
45
46
# ファイル 'lib/mongo/ データベース/view.rb', 行 44

デフォルト コレクション
  @collection
end

# database =オブジェクト(読み取り専用)

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

以来

  • 2.0.0



155
156
157
# ファイル 'lib/mongo/ データベース/view.rb', 行 155

デフォルト database
  @database
end

数制限~整数(読み取り専用)

コマンドの送信時に limit を返します。

次の値を返します。

  • (整数) —

    limit コマンドを送信する際の 制限です。

以来

  • 2.0.0



41
42
43
# ファイル 'lib/mongo/ データベース/view.rb', 行 41

デフォルト limit
  @limit
end

# operation_timeout_ms = 整数 | nil |ビューにオプションとして渡された timeout_ms 値。(読み取り専用)

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

整数 | を返しますnil |ビューにオプションとして渡された timeout_ms 値。

次の値を返します。

  • (整数 | nil | ビューにオプションとして渡された timeout_ms 値。 )—

    整数 | nil |ビューにオプションとして渡された timeout_ms 値。

以来

  • 2.0.0



161
162
163
# ファイル 'lib/mongo/ データベース/view.rb', 行 161

デフォルト operation_timeout_ms
  @operation_timeout_ms
end

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

#集計(パイプライン、オプション = {}) = Collection::View::Aggregation

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

データベース ビューで集計を実行します。

例:

ドキュメントを集計します。

view.aggregate([
  { "$listLocalSessions" => {} }
])

パラメーター:

  • パイプライン ( <Hash>配列 ) —

    集計パイプライン。

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

    集計オプション。

次の値を返します。

以来

  • 2.10.0



177
178
179
# ファイル 'lib/mongo/ データベース/view.rb', 行 177

デフォルト 集計(パイプライン, options = {})
  コレクション::ビュー::集計.新着情報(自己, パイプライン, options)
end

# collection_names (オプション = {})= Array[String ]<String>

注:

返されるコレクション名のセットは、リクエストを満たす MongoDB サーバーのバージョンによって異なります。

データベース内の非システム コレクションのすべての名前を取得します。

See https://mongodb.com/ja-jp/docs/manual/reference/command/listCollections/
for more information and usage.

パラメーター:

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

    listCollections コマンドのオプション。

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

  • :batch_size (整数) —

    listCollections コマンドから返される結果のバッチ サイズ。

  • : フィルター (ハッシュ) —

    返されるコレクションのフィルター。

  • : authorized_collections ( true 、 false ) —

    これはフラグであり、アクセス制御が強制されている場合に、必要な特権を持たないユーザーにもコマンドの実行を許可するフラグです。

  • :comment (オブジェクト) —

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

  • :timeout_ms (整数) —

    操作のタイムアウト(ミリ秒単位)。 負でない整数である必要があります。 0 の明示的な値は無限を意味します。 デフォルト値が設定されていない場合、データベースまたはクライアントから値が継承されることを意味します。

  • :session (セッション) —

    使用するセッション。

次の値を返します。

  • ( <String>配列未満

    すべての非システム コレクションの名前。

以来

  • 2.0.0



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# ファイル 'lib/mongo/ データベース/view.rb', 行 75

デフォルト collection_names(options = {})
  @batch_size = options[:batch_size]
  セッション = クライアント.get_session(options)
  context = 操作::Context.新着情報(
    クライアント: クライアント,
    セッション: セッション,
    operation_timeouts: operation_timeouts(options)
  )

  cursor = read_with_retry_cursor(セッション, ServerSelector.プライマリ, 自己, context: context) 行う |サーバー|
    send_initial_query(サーバー, セッション, context, options.merge(name_only: true))
  end

  cursor.map { |info| info[' name '] }
        .拒否 { |name| name.start_with?('システムです。 ') || name.include?('$') }
end

list_collections (オプション 番号 = {})= Array[Hash ]<Hash>

注:

返されるコレクションのセットと、コレクションごとの情報ハッシュのスキーマは、リクエストを満たす MongoDB サーバーのバージョンによって異なります。

データベース内のすべてのコレクションに関する情報を取得します。

例:

各コレクションの情報を取得します。

database.list_collections

パラメーター:

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

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

  • : フィルター (ハッシュ) —

    返されるコレクションのフィルター。

  • :name_only ( true 、 false ) —

    コマンドがコレクションまたはビューの名前とタイプのみを返すか、名前とその他の情報の両方を返すかを示します。

  • : authorized_collections ( true 、 false ) —

    true に設定し、nameOnly: true で使用すると、アクセス制御が強制されている場合に、必要な特権を持たないユーザーにもコマンドの実行を許可するフラグ

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

  • :session (セッション) —

    使用するセッション。

  • :deserialize_as_bson (ブール値) —

    このメッセージを、可能な場合はネイティブBSON types Ruby型ではなく を使用して逆シリアル化するかどうか。

次の値を返します。

  • ( <Hash>配列 ) —

    データベース内の各コレクションの情報。

以来

  • 2.0.5



121
122
123
124
# ファイル 'lib/mongo/ データベース/view.rb', 行 121

デフォルト list_collections(options = {})
  セッション = クライアント.get_session(options)
  collections_info(セッション, ServerSelector.プライマリ, options)
end

# operation_timeouts(opts = {}) = ハッシュ

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

操作レベルで設定された timeout_ms 値(存在する場合)を返します。

次の値を返します。

  • (ハッシュ) —

    操作レベルで設定された timeout_ms 値(存在する場合)。

以来

  • 2.0.0



192
193
194
195
196
197
198
199
200
# ファイル 'lib/mongo/ データベース/view.rb', 行 192

デフォルト operation_timeouts(ops = {})
  {}.タップ 行う |結果|
    場合 ops[:timeout_ms] || operation_timeout_ms
      結果[: operation_timeout_ms] = ops.削除(:timeout_ms) || operation_timeout_ms
    else
      結果[:in inherited_timeout_ms] = database.timeout_ms
    end
  end
end

#timeout_ms ⇒ Integer | nil

この操作に使用する timeout_ms 値 。ビューのオプションとして指定されるか、データベースから継承される 。

次の値を返します。

  • (Integer | nil) —

    この操作の timeout_ms

以来

  • 2.0.0



185
186
187
# ファイル 'lib/mongo/ データベース/view.rb', 行 185

デフォルト timeout_ms
  operation_timeout_ms || database.timeout_ms
end