クラス: 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#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



149
150
151
152
153
154
155
156
157
158
# ファイル 'lib/mongo/ データベース/view.rb', 行 149

デフォルト 初期化(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



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

デフォルト batch_size
  @batch_size
end

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

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

次の値を返します。

以来

  • 2.0.0



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

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

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

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

以来

  • 2.0.0



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

デフォルト database
  @database
end

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

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

次の値を返します。

  • (整数)

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

以来

  • 2.0.0



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

デフォルト limit
  @limit
end

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

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

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

次の値を返します。

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

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

以来

  • 2.0.0



167
168
169
# ファイル 'lib/mongo/ データベース/view.rb', 行 167

デフォルト operation_timeout_ms
  @operation_timeout_ms
end

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

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

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

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

例:

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

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

パラメーター:

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

    集計パイプライン。

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

    集計オプション。

次の値を返します。

以来

  • 2.10.0



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

デフォルト 集計(パイプライン, 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 truefalse

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

  • :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
91
92
93
94
95
96
# ファイル '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|
    場合 cursor.initial_result.connection_description.機能.list_collections_enabled?
      info[' name ']
    else
      (info[' name '] & &
        info[' name '].サブ(" #{ @ database .name } } . ", ''))
    end
  end.拒否 行う |name|
    name.start_with?('システムです。 ') || name.include?('$')
  end
end

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

注:

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

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

例:

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

database.list_collections

パラメーター:

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

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

  • : フィルター ハッシュ

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

  • :name_only truefalse

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

  • : authorized_collections truefalse

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

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

  • :session セッション

    使用するセッション。

  • :deserialize_as_bson ブール値

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

次の値を返します。

  • <Hash>配列 )

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

以来

  • 2.0.5



127
128
129
130
# ファイル 'lib/mongo/ データベース/view.rb', 行 127

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

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

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

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

次の値を返します。

  • ハッシュ

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

以来

  • 2.0.0



198
199
200
201
202
203
204
205
206
# ファイル 'lib/mongo/ データベース/view.rb', 行 198

デフォルト 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_msInteger | nil

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

次の値を返します。

  • (Integer | nil)

    この操作の timeout_ms

以来

  • 2.0.0



191
192
193
# ファイル 'lib/mongo/ データベース/view.rb', 行 191

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