クラス: 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を返すためです。

「ターム」が呼び出されるときに、クエリ メッセージがサーバーに送信されます。例は、#それぞれが View で呼び出されるとカーソルオブジェクトが作成され、クエリがサーバーに送信されます。

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

以来

  • 2.0.0

名前空間で定義済み

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

定数の概要

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

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

#aggregate、#allow_disk_use、#allow_partial_results、#await_data、#batch_size、#comment、#count、#count_documents、#cursor_type、#distinct、#estimated_document_count、#hint、#limit、#map_reduce、#max_await_time_ms、#max_scan、#max_time_ms、#max_value、#min_value、#modifiers、#no_cursor_timeout、#parallel_scan、#プロジェクション、#read、#read_concern、#read_preference、#return_key、#server_selector、#show_disk_loc、#skip、#スナップショット、#sort

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

#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 ( true 、 false ) —

    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 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



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

デフォルト 初期化(コレクション, フィルター = {}, 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



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

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

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

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

次の値を返します。

  • (ハッシュ) —

    クエリフィルター。

以来

  • 2.0.0



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

デフォルト フィルター
  @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

次の値を返します。

  • ( true 、 false ) —

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

以来

  • 2.0.0



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

デフォルト ==(その他)
  return false ただし、 その他.is_a?(ビュー)

  コレクション == その他.コレクション & &
    フィルター == その他.フィルター & &
    options == その他.options
end

#ハッシュ=整数

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

例:

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

view.hash

次の値を返します。

  • (整数) —

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

以来

  • 2.0.0



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

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

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

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

例:

検査を受けます。

view.inspect

次の値を返します。

  • ( string ) —

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

以来

  • 2.0.0



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

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

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

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

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

次の値を返します。

  • (ハッシュ) —

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

以来

  • 2.0.0



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

デフォルト 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_ms ⇒ Integer | nil

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

次の値を返します。

  • (Integer | nil) —

    この操作の timeout_ms

以来

  • 2.0.0



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

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

#with_session(opts = {}, &block) ⇒ オブジェクト

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

このビューのオプションと指定されたオプションを統合して、セッションのコンテキス内で提供されたブロックを実行します。

以来

  • 2.0.0



243
244
245
# ファイル 'lib/mongo/ コレクション/view.rb' は、243 行

デフォルト with_session(ops = {}, &ブロック)
  クライアント.with_session(@options.merge(ops), &ブロック)
end

#write_concern = Mongo::WriteConcern

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

例:

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

view.write_concern

次の値を返します。

以来

  • 2.0.0



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

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