モジュール: Mongo::Collection::View::Readable

次のドキュメントに含まれます。
Mongo::Collection::View
定義:
lib/mongo/ コレクション/view/readable.rb

Overview

コレクション ビューの読み取り関連の動作を定義します。

以来

  • 2.0.0

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

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

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

コレクション ビューで集計を実行します。

例:

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

view.aggregate([
  { "$group" => { "_id" => "$city", "tpop" => { "$sum" => "$pop" }}}
])

パラメーター:

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

    集計パイプライン。

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

    集計オプション。

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

  • :allow_disk_use ( true 、 false ) —

    集計中にディスクの使用が許可されている場合は、 を true に設定します。

  • :batch_size (整数) —

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

  • :bypass_document_validation ( true 、 false ) —

    ドキュメント レベルの検証をスキップするかどうか。

  • :collation (ハッシュ) —

    使用する照合。

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

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

  • :hint ( string ) —

    集計に使用するインデックス。

  • :let (ハッシュ) —

    パイプラインで使用する変数のマッピング。 詳細については、 サーバーのドキュメントを 参照してください。

  • :max_time_ms (整数) —

    集計の実行を許可する最大時間(ミリ秒単位)。 このオプションは非推奨です。代わりに :timeout_ms を使用してください。

  • :session (セッション) —

    使用するセッション。

  • :timeout_ms (整数) —

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

次の値を返します。

  • (集計) —

    集計オブジェクト。

以来

  • 2.0.0



58
59
60
61
62
63
64
65
66
67
68
69
70
71
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、58 行

デフォルト 集計(パイプライン, options = {})
  options = @options.merge(options) ただし、 mongo.broken_view_options
  集計 = 集計.新着情報(自己, パイプライン, options)

  # で、$merge と $out パイプライン ステージはドキュメントを
  # コレクションでは、実行時にキャッシュをクリアする必要があります。
  #
  1 つの名前空間ではなくキャッシュ全体をクリアするオプションは次のとおりです:
  $out ステージと $merge ステージは同じ名前空間に書き込む必要はありません
  集計が実行される#。
  クエリ キャッシュ.クリア 場合 集計.書込み (write)?

  集計
end

# allow_disk_use = を表示

サーバーが検索操作を実行中に一時データをディスクに書き込むことを許可します。

次の値を返します。

以来

  • 2.0.0



77
78
79
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、77 行

デフォルト allow_disk_use
  構成する(:allow_disk_use, true)
end

# allow_Partial_results = を表示

一部のシャードがダウンした場合にクエリで部分的な結果を得ることができます。

例:

部分的な結果を許可します。

view.allow_partial_results

次の値を返します。

以来

  • 2.0.0



89
90
91
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、89 行

デフォルト allow_ partial_results
  構成する(:allow_ partial_results, true)
end

#await_data = を表示

クエリのカーソルを開いたままデータを待つように指示します。

例:

カーソル上のデータを待機します。

view.await_data

次の値を返します。

以来

  • 2.0.0



101
102
103
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、101 行

デフォルト await_data
  構成する(:await_data, true)
end

# batch_size (batch_size = nil) =整数、ビュー

注:

1または負の数を指定することは、制限を設定することと同様です。

MongoDB からの結果の各バッチで返されたドキュメントの数。

例:

バッチ サイズを設定します。

view.batch_size(5)

パラメーター:

  • batch_size (整数) (デフォルトはnil ) —

    結果の各バッチのサイズ。

次の値を返します。

  • (整数、表示) —

    batch_size 値または新しいViewのいずれか。

以来

  • 2.0.0



118
119
120
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、118 行

デフォルト batch_size(batch_size = nil)
  構成する(:batch_size, batch_size)
end

#コメント(コメント=nil)= string 、ビュー

注:

profilingLevel を2に設定すると、クエリとともにコメントがプロファイル コレクションに記録されます。

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

例:

コメントを追加します。

view.comment('slow query')

パラメーター:

  • comment (オブジェクト) (デフォルトはnil ) —

    クエリに関連付けるコメント。

次の値を返します。

  • ( string 、ビュー) —

    コメントまたは新しいViewのいずれか。

以来

  • 2.0.0



136
137
138
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、136 行

デフォルト comment(comment = nil)
  構成する(:comment, comment)
end

カウント(opts = {{}) =整数

非推奨。

代わりに、#count_documents または #estimated_document_count_count を使用してください。 ただし、#count_documents に切り替えるときに次の演算子を置き換える必要があることに注意してください。

* $where should be replaced with $expr
* $near should be replaced with $geoWithin with $center
* $nearSphere should be replaced with $geoWithin with $centerSphere

コレクション内の一致するドキュメントの数を取得します。

例:

コレクション内のドキュメントの数を取得します。

collection_view.count

パラメーター:

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

    操作のオプション。

  • options (ハッシュ) —

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

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

  • :skip (整数) —

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

  • :hint (ハッシュ) —

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

  • :limit (整数) —

    カウントするDocsの最大数。

  • :max_time_ms (整数) —

    コマンドの実行を許可する最大時間。

  • :read (ハッシュ) —

    読み込み設定(read preference)オプション。

  • :collation (ハッシュ) —

    使用する照合。

  • :session ( Mongo::Session ) —

    操作に使用するセッション。

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

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

次の値を返します。

  • (整数) —

    ドキュメント数。

以来

  • 2.0.0



172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、172 行

デフォルト count(ops = {})
  ops = @options.merge(ops) ただし、 mongo.broken_view_options
  cmd = { count: コレクション.name, query: フィルター }
  cmd[:skip] = ops[:skip] 場合 ops[:skip]
  cmd[:hint] = ops[:hint] 場合 ops[:hint]
  cmd[:limit] = ops[:limit] 場合 ops[:limit]
  場合 read_concern
    cmd[:readConcern] = オプション::マッパー.transform_values_to_strings(
      read_concern
    )
  end
  cmd[:maxTimeMS] = ops[:max_time_ms] 場合 ops[:max_time_ms]
  mongo::Lint.validate_userscore_read_preference(ops[:read])
  read_pref = ops[:read] || read_preference
  セレクター = ServerSelector.得る(read_pref || server_selector)
  with_session(ops) 行う |セッション|
    context = 操作::Context.新着情報(
      クライアント: クライアント,
      セッション: セッション,
      operation_timeouts: operation_timeouts(ops)
    )
    操作 = 操作::数.新着情報(
      セレクター: cmd,
      db_name: database.name,
      次のオプションがあります。 { limit: -1 },
      read: read_pref,
      セッション: セッション,
      # 何らかの理由で照合は歴史的に として受け入れられました
      # string キー。 これは有効な使用として文書化されていないことに注意してください。
      collation: ops[:collation] || ops[「照合」] || collation,
      comment: ops[:comment]
    )
    追跡.track_operation(操作, context) 行う
      read_with_retry(セッション, セレクター, context) 行う |サーバー|
        操作.実行する(
          サーバー,
          context: context
        )
      end.n.to_i
    end
  end
end

count_documents (opts = {}) =整数

コレクション内の一致するドキュメントの数を取得します。

例:

コレクション内のドキュメントの数を取得します。

collection_view.count

パラメーター:

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

    操作のオプション。

  • options (ハッシュ) —

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

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

  • :skip (整数) —

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

  • :hint (ハッシュ) —

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

  • :limit (整数) —

    カウントするDocsの最大数。

  • :max_time_ms (整数) —

    コマンドの実行を許可する最大時間。 このオプションは非推奨です。代わりに :timeout_ms を使用してください。

  • :read (ハッシュ) —

    読み込み設定(read preference)オプション。

  • :collation (ハッシュ) —

    使用する照合。

  • :session ( Mongo::Session ) —

    操作に使用するセッション。

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

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

次の値を返します。

  • (整数) —

    ドキュメント数。

以来

  • 2.6.0



242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、242 行

デフォルト count_documents(ops = {})
  ops = @options.merge(ops) ただし、 mongo.broken_view_options
  パイプライン = [ { フィルターパイプラインパイプラインパイプライン_id照合照合照合パイプライン' $match ': フィルター } )パイプライン<< { ' $skip ': opts [:skip ] } が opts [:skip ]パイプラインの場合opts [:limit ]パイプライン{{ ' $group : { _id: 1, n: { ' $sum ': 1 opts = optsスライス( :hint,:max_time_ms,:read,:照合,:session,:comment,:timeout_ms ) ops [:照合 ] ||=照合 first = 集計(パイプライン、 opts )。最初に [ ' n ] がない限り、最初は 0 を返します。 to_i 終了

# cursor_type (type =nil)= :tailable 、...

使用するカーソルの型。 :tailable または :tailable_await になります。

例:

カーソルの種類を設定します。

view.cursor_type(:tailable)

パラメーター:

  • タイプ ( :tailable 、 :tailable_await ) (デフォルトはnil ) —

    カーソルの種類。

次の値を返します。

  • ( :tailable 、 :tailable_await 、ビュー) —

    カーソルタイプ設定または新しいView 。

以来

  • 2.3.0



665
666
667
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、665 行

デフォルト cursor_type(タイプ = nil)
  構成する(: cursor_type, タイプ)
end

distinct (field_name, opts = {{})= Array =========================================<Object>

特定のフィールドの個別の値のリストを取得します。

例:

個別の値を取得します。

collection_view.distinct('name')

パラメーター:

  • field_name ( string 、 Symbol ) —

    フィールドの名前。

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

    個別の コマンドのオプション。

  • options (ハッシュ) —

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

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

  • :max_time_ms (整数) —

    コマンドの実行を許可する最大時間。

  • :read (ハッシュ) —

    読み込み設定(read preference)オプション。

  • :collation (ハッシュ) —

    使用する照合。

次の値を返します。

  • (配列<Object> ) —

    個別の値のリスト。

次の値が発生します。

  • (ArgumentError)

以来

  • 2.0.0



344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、344 行

デフォルト distinct(field_name, ops = {})
  発生 ArgumentError, '個別の操作のフィールド名は nil 以外である必要があります' 場合 field_name.nil?

  ops = @options.merge(ops) ただし、 mongo.broken_view_options
  cmd = { distinct コレクション.name,
          キー: field_name.to_s,
          query: フィルター, }
  cmd[:maxTimeMS] = ops[:max_time_ms] 場合 ops[:max_time_ms]
  場合 read_concern
    cmd[:readConcern] = オプション::マッパー.transform_values_to_strings(
      read_concern
    )
  end
  mongo::Lint.validate_userscore_read_preference(ops[:read])
  read_pref = ops[:read] || read_preference
  セレクター = ServerSelector.得る(read_pref || server_selector)
  with_session(ops) 行う |セッション|
    context = 操作::Context.新着情報(
      クライアント: クライアント,
      セッション: セッション,
      operation_timeouts: operation_timeouts(ops)
    )
    操作 = 操作::distinct.新着情報(
      セレクター: cmd,
      db_name: database.name,
      次のオプションがあります。 { limit: -1 },
      read: read_pref,
      セッション: セッション,
      comment: ops[:comment],
      # 何らかの理由で照合は歴史的に として受け入れられました
      # string キー。 これは有効な使用として文書化されていないことに注意してください。
      collation: ops[:collation] || ops[「照合」] || collation
    )
    追跡.track_operation(操作, context) 行う
      read_with_retry(セッション, セレクター, context) 行う |サーバー|
        操作.実行する(
          サーバー,
          context: context
        )
      end.最初に['values']
    end
  end
end

#estimate_document_count (ops = {}) =整数

コレクション メタデータを使用して、コレクション内のドキュメント数の推定値を取得します。

例:

コレクション内のドキュメントの数を取得します。

collection_view.estimated_document_count

パラメーター:

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

    操作のオプション。

  • options (ハッシュ) —

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

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

  • :max_time_ms (整数) —

    コマンドの実行を許可する最大時間。

  • :read (ハッシュ) —

    読み込み設定(read preference)オプション。

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

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

次の値を返します。

  • (整数) —

    ドキュメント数。

以来

  • 2.6.0



278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、278 行

デフォルト Estimated_document_count(ops = {})
  ただし、 表示.フィルター.空の場合
    発生 ArgumentError, フィルター を使用してクエリを実行すると、estimate_document_count を呼び出せません。
  end

  %i[limit スキップ].各 行う |opt|
    場合 options.key?(opt) || ops.key?(opt)
      発生 ArgumentError, 「 #{ opt } を使用してクエリを実行すると、estimate_document_count を呼び出せません 」
    end
  end

  ops = @options.merge(ops) ただし、 mongo.broken_view_options
  mongo::Lint.validate_userscore_read_preference(ops[:read])
  read_pref = ops[:read] || read_preference
  セレクター = ServerSelector.得る(read_pref || server_selector)
  with_session(ops) 行う |セッション|
    context = 操作::Context.新着情報(
      クライアント: クライアント,
      セッション: セッション,
      operation_timeouts: operation_timeouts(ops)
    )
    cmd = { count: コレクション.name }
    cmd[:maxTimeMS] = ops[:max_time_ms] 場合 ops[:max_time_ms]
    cmd[:readConcern] = オプション::マッパー.transform_values_to_strings(read_concern) 場合 read_concern
    操作 = 操作::数.新着情報(
      セレクター: cmd,
      db_name: database.name,
      read: read_pref,
      セッション: セッション,
      comment: ops[:comment]
    )
    追跡.track_operation(操作, context, op_name: 'estimatedDocumentCount') 行う
      read_with_retry(セッション, セレクター, context) 行う |サーバー|
        結果 = 操作.実行する(サーバー, context: context)
        結果.n.to_i
      end
    ヘルプ エラー::OperationFailure::ファミリー => e
      発生 ただし、 e.コード == 26

      # NamespaceNotFound
      # これは、集計パイプライン パスでのみ発生します
      #(サーバー4.9 +)。 以前のサーバーでは存在しない場合に対して0が返される必要があります。
      # コレクション。
      0
    end
  end
end

#hint(hint = nil) ⇒ Hash, View

MongoDB がクエリに使用するように強制するインデックス。

例:

インデックス ヒント を設定します。

view.hint(name: 1)

パラメーター:

  • hint (ハッシュ) (デフォルトはnil ) —

    クエリに使用するインデックス。

次の値を返します。

  • (ハッシュ、ビュー) —

    ヒントまたは新しいViewのいずれか。

以来

  • 2.0.0



398
399
400
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、398 行

デフォルト hint(hint = nil)
  構成する(:hint, hint)
end

#limit(limit = nil) ⇒ Integer, View

クエリから返されるDocsの最大数。

例:

制限を設定します。

view.limit(5)

パラメーター:

  • limit (整数) (デフォルトはnil ) —

    返されるDocsの数。

次の値を返します。

  • (整数、表示) —

    制限または新しいViewのいずれか。

以来

  • 2.0.0



412
413
414
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、412 行

デフォルト limit(limit = nil)
  構成する(:limit, limit)
end

# map_reduce (map, reduce, options={{})= MapReduce

コレクション ビューで map-reduce 操作を実行します。

例:

map-reduce を実行します。

view.map_reduce(map, reduce)

パラメーター:

  • map ( string ) —

    map JavaScript関数。

  • reduce ( string ) —

    reduce JavaScript関数。

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

    map/reduce オプション。

次の値を返します。

  • ( MapReduce ) —

    map reduce ラッパー。

以来

  • 2.0.0



428
429
430
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、428 行

デフォルト map_reduce(map, reduce, options = {})
  mapReduce.新着情報(自己, map, reduce, @options.merge(options))
end

#max_await_time_ms (max = nil) =整数、ビュー

カーソルに対する操作数を増やすための累積時間制限(ミリ秒単位)。

例:

max await time ms 値を設定します。

view.max_await_time_ms(500)

パラメーター:

  • 最大 (整数) (デフォルトはnil ) —

    ミリ秒単位の最大時間。

次の値を返します。

  • (整数、表示) —

    max await time ミリ秒の値または新しいViewのいずれか。

以来

  • 2.1.0



637
638
639
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、637 行

デフォルト max_await_time_ms(最大 = nil)
  構成する(:max_await_time_ms, 最大)
end

# max_scan (値 = nil) =整数、ビュー

非推奨。

MongoDB サーバー バージョン4.0以降、このオプションは非推奨です。

スキャンするドキュメントの最大数を設定します。

例:

最大スキャン値を設定します。

view.max_scan(1000)

パラメーター:

  • 価値 (整数) (デフォルトはnil ) —

    スキャンする最大数。

次の値を返します。

  • (整数、表示) —

    値または新しいView 。

以来

  • 2.0.0



445
446
447
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、445 行

デフォルト max_scan(価値 = nil)
  構成する(:max_scan, 価値)
end

# max_time_ms (max = nil) =整数、ビュー

カーソルに対する情報処理操作の累積時間制限(ミリ秒単位)。

例:

max 時間ミリ秒 の値を設定します。

view.max_time_ms(500)

パラメーター:

  • 最大 (整数) (デフォルトはnil ) —

    ミリ秒単位の最大時間。

次の値を返します。

  • (整数、表示) —

    max 時間 ミリ秒の値または新しいViewのいずれか。

以来

  • 2.1.0



651
652
653
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、651 行

デフォルト max_time_ms(最大 = nil)
  構成する(:max_time_ms, 最大)
end

# max_value (value = nil) =ハッシュ、ビュー

検索する最大値を設定します。

例:

最大値を設定します。

view.max_value(_id: 1)

パラメーター:

  • 価値 (ハッシュ) (デフォルトはnil ) —

    の最大フィールドと値。

次の値を返します。

  • (ハッシュ、ビュー) —

    値または新しいView 。

以来

  • 2.1.0



459
460
461
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、459 行

デフォルト max_value(価値 = nil)
  構成する(:max_value, 価値)
end

# min_value (value = nil) =ハッシュ、ビュー

検索する最小値を設定します。

例:

最小値を設定します。

view.min_value(_id: 1)

パラメーター:

  • 価値 (ハッシュ) (デフォルトはnil ) —

    最小フィールドと値。

次の値を返します。

  • (ハッシュ、ビュー) —

    値または新しいView 。

以来

  • 2.1.0



473
474
475
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、473 行

デフォルト min_value(価値 = nil)
  構成する(:min_value, 価値)
end

#modifiers(doc = nil) ⇒ Hash, View

引数なしまたは nil 引数を指定して呼び出すと、 は現在のビューのレガシー(OP_QUERY)サーバー修飾子を返します。 ハッシュまたはサブクラスである必要がある nil 以外の引数で呼び出された場合、 は指定された修飾子を現在のビューにマージします。 入力ハッシュではstringキーとシンボルキーの両方が許可されます。

例:

Set the modifiers document.

view.modifiers(:$orderby => Mongo::Index::ASCENDING)

パラメーター:

  • doc (ハッシュ) (デフォルトはnil ) —

    The modifiers document.

次の値を返します。

  • (ハッシュ、ビュー) —

    修飾子ドキュメントまたは新しいView 。

以来

  • 2.1.0



618
619
620
621
622
623
624
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、618 行

デフォルト modifiers(doc = nil)
  場合 doc.nil?
    操作::find::ビルダ::Modifiers.map_server_modifiers(options)
  else
    新着情報(options.merge(操作::find::ビルダ::Modifiers.map_Driver_options(BSON::ドキュメント.新着情報(doc))))
  end
end

#no_cursor_timeout ⇒ View

サーバーは通常、非アクティブな期間( 10分)の後にアイドル カーソルをタイムアウトして、過剰なメモリの使用を防ぎます。 それを防ぐには、このオプションを に設定します。

例:

カーソルをタイムアウトしないように設定します。

view.no_cursor_timeout

次の値を返します。

以来

  • 2.0.0



486
487
488
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、486 行

デフォルト no_cursor_timeout
  構成する(:no_cursor_timeout, true)
end

# parallel_scan (cursor_count、オプション = {}) = オブジェクト

以来

  • 2.0.0



707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、707 行

デフォルト parallel_scan(cursor_count, options = {})
  セッション = 場合 options[:session]
              # セッションは後で +options+ の 1 つによって上書きされます。
              クライアント.get_session(@options)
            end
  サーバー = server_selector.[select_server](クラスター, nil, セッション)
  スペック = {
    coll_name: コレクション.name,
    db_name: database.name,
    cursor_count: cursor_count,
    read_concern: read_concern,
    セッション: セッション,
  }.update(options)
  セッション = スペック[:session]
  op = 操作::並列Scan.新着情報(スペック)
  # コンテキストオブジェクトは後続の で再利用されないことに注意してください。
  #GetMore 操作。
  context = 操作::Context.新着情報(クライアント: クライアント, セッション: セッション)
  結果 = op.実行する(サーバー, context: context)
  結果.cursor_ids.map 行う |cursor_id|
    スペック = {
      cursor_id: cursor_id,
      coll_name: コレクション.name,
      db_name: database.name,
      セッション: セッション,
      batch_size: batch_size,
      max_time_ms はここでは渡されていません。意図的に処理が行われていると仮定します。
    }
    op = 操作::Get More.新着情報(スペック)
    context = 操作::Context.新着情報(
      クライアント: クライアント,
      セッション: セッション,
      connection_ global_id: 結果.connection_ global_id
    )
    結果 = 場合 サーバー.load_ balancer?
               カーソルが空のときに接続がチェックインされます。
               接続 = サーバー.プール.checkpoint_out(context: context)
               op.execution_with_ connection(接続, context: context)
             else
               op.実行する(サーバー, context: context)
             end
    Cursor.新着情報(自己, 結果, サーバー, セッション: セッション)
  end
end

#プロジェクション(ドキュメント = nil)=ハッシュ、ビュー

注:

0の値は、ドキュメントからフィールドを除外します。 1の値にはそれが含まれます。 値は、 _id 値を除き、すべて0またはすべての1である必要があります。 _id フィールドはデフォルトで含まれます。 明示的に除外する必要があります。

結果セット内の各ドキュメントに含める、または除外するフィールド。

例:

含めるフィールドまたは除外するフィールドを設定します。

view.projection(name: 1)

パラメーター:

  • ドキュメント (ハッシュ) (デフォルトはnil ) —

    フィールドと1または0を含めるまたは除外します。

次の値を返します。

  • (ハッシュ、ビュー) —

    フィールドまたは新しいViewのいずれか。

以来

  • 2.0.0



504
505
506
507
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、504 行

デフォルト プロジェクション(ドキュメント = nil)
  validate_doc!(ドキュメント) 場合 ドキュメント
  構成する(:プロジェクション, ドキュメント)
end

#read (value = nil) =シンボル、ビュー

注:

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

クエリに使用する 読み込み設定(read preference) 。

パラメーター:

  • 価値 (ハッシュ) (デフォルトはnil ) —

    クエリに使用する 読み込み設定(read preference) モード

次の値を返します。

  • (シンボル、ビュー) —

    読み込み設定(read preference)または新しいViewのいずれか。

以来

  • 2.0.0



520
521
522
523
524
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、520 行

デフォルト 読み取り(価値 = nil)
  return read_preference 場合 価値.nil?

  構成する(:read, 価値)
end

#read_concern =オブジェクト

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

以来

  • 2.0.0



679
680
681
682
683
684
685
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、679 行

デフォルト read_concern
  場合 options[:session] & & options[:session].in_transaction?
    options[:session].txn_read_concern || コレクション.クライアント.read_concern
  else
    コレクション.read_concern
  end
end

# read_preference =オブジェクト

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

以来

  • 2.0.0



688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、688 行

デフォルト read_preference
  @read_preference ||= begin
    # 操作の読み込み設定(read preference)は常に尊重され、次の要素が含まれます:
    優先順位 。 トランザクション内では、次が必要になります。
    # トランザクションの読み込み設定(read preference)とデフォルトのクライアントを無視する
    コレクションの読み込み設定 (read preference)。 トランザクションにない場合は、
    クライアントにデフォルト設定されている読み込み設定 (read preference) を参照してください。
    rp = 場合 options[:read]
           options[:read]
         elsif options[:session] & & options[:session].in_transaction?
           options[:session].txn_read_preference || コレクション.クライアント.read_preference
         else
           コレクション.read_preference
         end
    Lint.validate_userscore_read_preference(rp)
    rp
  end
end

# return_key (値 = nil) = true , ...

インデックス付きフィールドのみを返すかどうかを設定します。

例:

戻り値の設定。

view.return_key(true)

パラメーター:

  • 価値 ( true 、 false ) (デフォルトはnil ) —

    キー値を返します。

次の値を返します。

  • ( true 、 false 、ビュー) —

    値または新しいView 。

以来

  • 2.1.0



536
537
538
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、536 行

デフォルト return_key(価値 = nil)
  構成する(:return_key, 価値)
end

#server_selector ⇒ オブジェクト

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

このビューのサーバーセレクターは、読み込み設定 (read preference)(またはコレクション/クライアントのデフォルト)から引き出されます。

以来

  • 2.0.0



756
757
758
759
760
761
762
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、756 行

デフォルト server_selector
  @server_selector ||= 場合 options[:session] & & options[:session].in_transaction?
                         ServerSelector.得る(read_preference || クライアント.server_selector)
                       else
                         ServerSelector.得る(read_preference || コレクション.server_selector)
                       end
end

# show_disk_loc (値 = nil) = true 、... とも呼ばれます: show_record_id

各ドキュメントのディスク場所を表示するかどうかを設定します。

例:

ディスク ロケーションの表示オプションを設定します。

view.show_disk_loc(true)

パラメーター:

  • 価値 ( true 、 false ) (デフォルトはnil ) —

    フィールドの 値。

次の値を返します。

  • ( true 、 false 、ビュー) —

    値または新しいViewのいずれか。

以来

  • 2.0.0



551
552
553
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、551 行

デフォルト show_disk_loc(価値 = nil)
  構成する(:show_disk_loc, 価値)
end

# skip (number = nil) =整数、ビュー

結果を返す前にスキップするDocsの数。

例:

スキップする数を設定します。

view.skip(10)

パラメーター:

  • 数値 (整数) (デフォルトはnil ) —

    スキップするDocsの数。

次の値を返します。

  • (整数、表示) —

    スキップ値または新しいViewのいずれか。

以来

  • 2.0.0



567
568
569
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、567 行

デフォルト スキップ(数値 = nil)
  構成する(:skip, 数値)
end

#スナップショット(値 = nil) =オブジェクト

非推奨。

MongoDB サーバー バージョン4.0以降、このオプションは非推奨です。

注:

true に設定されている場合、 はドキュメントを複数回返すことを防止します。

ビューの スナップショット 値を設定します。

例:

スナップショット値を設定します。

view.snapshot(true)

パラメーター:

  • 価値 ( true 、 false ) (デフォルトはnil ) —

    スナップショットの 値。

以来

  • 2.0.0



585
586
587
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、585 行

デフォルト スナップショット(価値 = nil)
  構成する(:snapshot, 価値)
end

#sort (spec = nil) =ハッシュ、ビュー

結果セットがソートされるキーと方向のペア。

例:

並べ替え条件の設定

view.sort(name: -1)

パラメーター:

  • スペック (ハッシュ) (デフォルトはnil ) —

    並べ替える属性と方向。

次の値を返します。

  • (ハッシュ、ビュー) —

    並べ替え設定または新しいViewのいずれか。

以来

  • 2.0.0



600
601
602
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、600 行

デフォルト sort(スペック = nil)
  構成する(:sort, スペック)
end

#timeout_ms(timeout_ms = nil) ⇒ Integer, View

操作ごとのタイムアウト(ミリ秒単位)。 正の整数である必要があります。

パラメーター:

  • timeout_ms (整数) (デフォルトはnil ) —

    タイムアウト値。

次の値を返します。

  • (整数、表示) —

    timeout_ms 値または新しい View のいずれか。

以来

  • 2.0.0



674
675
676
# ファイル 'lib/mongo/ コレクション/view/readable.rb' は、674 行

デフォルト timeout_ms(timeout_ms = nil)
  構成する(:timeout_ms, timeout_ms)
end