クラス: Mongo::Collection::View

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
列挙 可能、 説明可能 不変 、 イテラブル 、 読み取り可能 書込み 可能
定義:
lib/mongo/コレクション/view.rb
、lib/mongo/コレクション/view/iterable.rb、lib/mongo/コレクション/view/readable.rb、lib/mongo/コレクション/view/writeable.rb、lib/mongo/





コレクション/view/imutable.rb、lib/mongo/コレクション/view/map_reduce.rb、lib/mongo/コレクション/view/集計.rb、lib/mongo/コレクション/view/explainable.rb、lib/mongo/コレクション/

view/change_stream.rb,
lib/mongo/コレクション/view/Builder/map_reduce.rb,
lib/mongo/コレクション/view/Builder/集計.rb, lib/mongo/コレクション/view/集計/behavior.rb,
lib/ mongo/コレクション/view/change_stream/retryable.rb

Overview

注:

View API は半パブリックです。

結果セットのドキュメントを生成するクエリとオプションの表現。

ヘルパーを使用してViewを変更できます。 ヘルパーは連鎖させることができ、引数が指定されている場合はそれぞれがViewを返すためです。

ターミネーターが呼び出されるときに、クエリ メッセージはサーバーに送信されます。 たとえば、#each がViewで呼び出されるとカーソル オブジェクトが作成され、クエリがサーバーに送信されます。

Viewはユーザーによって直接作成されることはありません。 代わりに、CRUD 操作が呼び出されたときにViewViewを作成し、それを操作ユーザーに返します。

以来

  • 2.0.0

名前空間で定義済み

Modules: ビルダ説明可能不変イテラブル読み取り可能、 書込み可能クラス:集計ChangeStreamMapReduce

定数の概要

Writeableから含まれる定数

Writeable::ARray_Filters

Explainableに含まれる定数

説明可能::ALL_PLANS_EXECUTION説明可能:EXECUTION_STATS説明可能::QUERY_PLANNER

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

Mongo::CursorHost から含まれる属性

#cursor, #timeout_mode

不変に含まれる属性

#options

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

Writeableに含まれるメソッド

#delete_many, #delete_one, #find_one_and_delete, #find_one_and_replace, #find_one_and_update, #replace_one, #update_many, #update_one

Explainableに含まれるメソッド

#explain

読み取り可能なに含まれるメソッド

、 、 、 、 、 、 、 、 、 、 、 、 、 、 、および、 、 、 、 、 、 、 、 、 、および

イテラブルに含まれるメソッド

#close_query

Mongo::CursorHost に含まれるメソッド

#validate_timeout_mode!

コンストラクターの詳細

初期化多数(コレクション、フィルター = {}、オプション = {}) =表示

新しいViewを作成します。

例:

emily という名前のユーザーをすべて検索します。

View.new(collection, {:name => 'Emily'})

5をスキップし、 を返す10 という名前のすべてのユーザーを見つけます。

View.new(collection, {:name => 'Emily'}, :skip => 5, :limit => 10)

特定の読み込み設定(read preference)を使用して、Emitter という名前のすべてのユーザーを検索します。

View.new(collection, {:name => 'Emily'}, :read => :secondary_preferred)

パラメーター:

  • コレクション コレクション

    クエリするCollection

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

    クエリフィルター。

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

    追加のクエリオプション。

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

  • :allow_disk_use truefalse

    true に設定されている場合、サーバーは検索操作の実行中に一時データをディスクに書込むことができます。 このオプションは、MongoDB サーバー バージョン 4.4 以降でのみ使用できます。

  • :batch_size 整数

    MongoDB からの各応答で返すドキュメントの数。

  • :collation ハッシュ

    使用する照合。

  • :comment string

    クエリにコメントを関連付けます。

  • : cursor_type :tailable:tailable_await

    使用するカーソルの型。

  • :explain ハッシュ

    find ではなく、指定された explain オプション(既知のオプションは :冗長 と :冗長性)を使用して explain を実行します。

  • :hint ハッシュ

    デフォルトのインデックス選択を上書きし、MongoDB がクエリに特定のインデックスを使用するように強制します。

  • :limit 整数

    返されるドキュメントの最大数。

  • :max_scan 整数

    指定された数のドキュメントのみをスキャンするようにクエリを制限します。 を使用して、クエリが長時間実行されすぎるのを防ぎます。 MongoDB サーバー バージョン4.0以降、非推奨 。

  • :プロジェクション ハッシュ

    返されるドキュメントに含めるフィールドまたは除外するフィールド。

  • :read ハッシュ

    クエリに使用する 読み込み設定(read preference) 。 何も指定されていない場合は、コレクションのデフォルトの読み込み設定が使用されます。

  • :read_concern ハッシュ

    クエリに使用する読み取り保証 (read concern) です。

  • :show_disk_loc true | false

    各ドキュメントのフィールドとしてディスクのロケーション情報を返します。

  • :skip 整数

    スキップするドキュメントの数。

  • :snapshot true | false

    ドキュメントが複数回返されるのを防ぎます。 MongoDB サーバー バージョン4.0以降、非推奨 。

  • :sort ハッシュ

    結果をソートするために使用されるキーと方向のペア。

  • :timeout_mode :cursor_Lifetime | :iteration

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

  • :timeout_ms 整数

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

以来

  • 2.0.0



169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# ファイル 'lib/mongo/ コレクション/view.rb' は、169 行

デフォルト 初期化(コレクション, フィルター = {}, options = {})
  validate_doc!(フィルター)

  フィルター = BSON::ドキュメント.新着情報(フィルター)
  options = BSON::ドキュメント.新着情報(options)

  @collection = コレクション
  @operation_timeout_ms = options.削除(:timeout_ms)

  validate_timeout_mode!(options)

  #これは、ユーザーが フィルター やその他の修飾子で $query を渡す場合です
  と合わせて使用する場合
  クエリ = フィルター.削除(:$query)
  # これにより、フィルターが次ではなかった場合、修飾子にフィルターが含まれるようになります:
  $query 経由で提供されますが、最上位キーとして
  # downstream code ignores non-modifier keys in the modifiers?
  modifiers = フィルター.merge(options.削除(:modifiers) || {})
  @filter = (クエリ || フィルター).freeze
  @options = 操作::find::ビルダ::Modifiers.map_Driver_options(modifiers).mergeします。(options).freeze
end

インスタンス属性の詳細

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

クエリするCollectionを返します。

次の値を返します。

以来

  • 2.0.0



56
57
58
# ファイル 'lib/mongo/ コレクション/view.rb' は、56 行

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

#フィルター=ハッシュ(読み取り専用) 。別名:セレクター

クエリフィルターを返します。

次の値を返します。

  • ハッシュ

    クエリフィルター。

以来

  • 2.0.0



59
60
61
# ファイル 'lib/mongo/ コレクション/view.rb' は、59 行

デフォルト フィルター
  @filter
end

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

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

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

次の値を返します。

以来

  • 2.0.0



81
82
83
# ファイル 'lib/mongo/ コレクション/view.rb' は、81 行

デフォルト operation_timeout_ms
  @operation_timeout_ms
end

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

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

2 つのViewオブジェクトを比較します。

例:

ビューを別のオブジェクトと比較します。

view == other

次の値を返します。

  • truefalse

    2 つのViewのコレクション、フィルタ、オプションが一致する場合は と等しくなります。

以来

  • 2.0.0



92
93
94
95
96
97
# ファイル 'lib/mongo/ コレクション/view.rb' は、92 行

デフォルト ==(その他)
  return false ただし、 その他.is_a?(ビュー)
  コレクション == その他.コレクション & &
      フィルター == その他.フィルター & &
      options == その他.options
end

#ハッシュ=整数

コレクション名前空間、オプションのハッシュ、フィルターのハッシュで構成されるViewのハッシュ値。

例:

ハッシュ値を取得します。

view.hash

次の値を返します。

  • (整数)

    Viewオブジェクトのハッシュ値。

以来

  • 2.0.0



109
110
111
# ファイル 'lib/mongo/ コレクション/view.rb' は、109 行

デフォルト ハッシュ
  [ コレクション.namespace, options.ハッシュ, フィルター.ハッシュ ].ハッシュ
end

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

View の人間が判読可能なstring表現を取得します。

例:

検査を受けます。

view.inspect

次の値を返します。

  • ( string )

    Viewインスタンスの string 表現。

以来

  • 2.0.0



207
208
209
210
# ファイル 'lib/mongo/ コレクション/view.rb' は、207 行

デフォルト 検査する
  " #< Mongo::Collection::View: 0 x #{ object_id } namespace=' #{ collection . namespace } ' " +
      " @filter= #{ filter . to_s } @options= #{ options .to_s } } > "
end

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

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

操作レベルで設定されている timeout_ms 値(存在する場合)、および/またはコレクション/データベース/クライアントレベルで設定されている timeout_ms 値(存在する場合)を返します。

次の値を返します。

  • ハッシュ

    操作レベルで設定されている timeout_ms 値(存在する場合)、および/またはコレクション/データベース/クライアントレベルで設定されている timeout_ms 値(存在する場合)。

以来

  • 2.0.0



228
229
230
231
232
233
234
235
236
# ファイル 'lib/mongo/ コレクション/view.rb' は、228 行

デフォルト operation_timeouts(ops = {})
  {}.タップ 行う |結果|
    場合 ops[:timeout_ms] || operation_timeout_ms
      結果[: operation_timeout_ms] = ops[:timeout_ms] || operation_timeout_ms
    else
      結果[:in inherited_timeout_ms] = コレクション.timeout_ms
    end
  end
end

#timeout_msInteger | nil

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

次の値を返します。

  • (Integer | nil)

    この操作の timeout_ms

以来

  • 2.0.0



195
196
197
# ファイル 'lib/mongo/ コレクション/view.rb' は、195 行

デフォルト timeout_ms
  operation_timeout_ms || コレクション.timeout_ms
end

#write_concern = Mongo::WriteConcern

このViewの書込み保証 (write concern) を取得します。

例:

書込み保証 (write concern) を取得します。

view.write_concern

次の値を返します。

以来

  • 2.0.0



220
221
222
# ファイル 'lib/mongo/ コレクション/view.rb' は、220 行

デフォルト write_concern
  WriteConcern.得る(options[:write_concern] || options[:write] || コレクション.write_concern)
end