モジュール: Mongoid::Criteria::Queryable::として任意

次による拡張機能。
Macroable
次のドキュメントに含まれます。
Mongoid::Criteria::Queryable
定義:
lib/mongoid/criteria/queryable/optional.rb

Overview

任意の モジュールには、スキップ、制限、ソートなど、クエリ周囲の追加オプションに関連するすべての動作が含まれます。

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

クラスメソッドの概要を折りたたむ

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

Macroableに含まれるメソッド

キー

インスタンス属性の詳細

#オプション=オブジェクト

属性オプションの値を返します。



14
15
16
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 14行を

デフォルト options
  @options
end

# options クエリ オプション。 (クエリオプション) =オブジェクト



14
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 14行を

attr_accessor :options

クラスメソッドの詳細

フォワードルック → 配列_シンボル<Symbol>

モデルから転送できるオプションの メソッドを取得します。

例:

転送可能なメソッドを取得します。

Optional.forwardables

次の値を返します。

  • 配列<Symbol>

    転送可能なメソッドの名前。



374
375
376
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 374行を

デフォルト forwardables
  public_instance_methods(false) - [ :options, :options= ]
end

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

昇順 (*フィールド ) ====================================================================

提供されたすべてのフィールドに昇順の並べ替えオプションを追加します。

例:

昇順 ソート を追加します。

optional.ascending(:first_name, :last_name)

パラメーター:

  • *fields (Symbol...)

    ソートするフィールド。

次の値を返します。

  • 任意

    の複製は任意です。



24
25
26
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 24行を

デフォルト 上昇(*フィールド)
  sort_with_list(*フィールド, 1)
end

#batch_size (値 = nil) =任意

MongoDB にバッチで取得するドキュメント数を指示する オプションを追加します。

例:

バッチ サイズ オプションを適用します。

optional.batch_size(500)

パラメーター:

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

    バッチ サイズ。

次の値を返します。

  • 任意

    の複製は任意です。



40
41
42
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 40行を

デフォルト batch_size(価値 = nil)
  オプション(価値) { |options| options.store(:batch_size, 価値) }
end

#照合(collation_doc) =任意

照合の設定。

例:

照合の設定。

optional.collation(locale: 'fr', strength: 2)

パラメーター:

  • collation_doc ハッシュ

    使用する照合を説明するドキュメント。

次の値を返します。

  • 任意

    の複製は任意です。



303
304
305
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 303行を

デフォルト collation(collation_doc)
  複製.タップ { |クエリ| クエリ.options.store(:collation, collation_doc) }
end

#comment(comment = nil) ⇒ Optional

注:

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

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

例:

コメントを追加します。

optional.comment('slow query')

パラメーター:

  • comment string (デフォルトはnil

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

次の値を返します。

  • 任意

    の複製は任意です。



274
275
276
277
278
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 274行を

デフォルト comment(comment = nil)
  複製.タップ 行う |クエリ|
    クエリ.options.store(:comment, comment)
  end
end

# cursor_type (タイプ) ~任意

注:

カーソルは、 :tailable または :tailable_await のタイプになります。

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

例:

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

optional.cursor_type(:tailable)
optional.cursor_type(:tailable_await)

パラメーター:

  • タイプ シンボル

    作成するカーソルのタイプ。

次の値を返します。

  • 任意

    の複製は任意です。



291
292
293
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 291行を

デフォルト cursor_type(タイプ)
  複製.タップ { |クエリ| クエリ.options.store(: cursor_type, タイプ) }
end

降順 (*フィールド) === フィールド ==========================================================================

提供されたすべてのフィールドに降順の並べ替えオプションを追加します。

例:

降順ソートを追加します。

optional.descending(:first_name, :last_name)

パラメーター:

  • *fields (Symbol...)

    ソートするフィールド。

次の値を返します。

  • 任意

    の複製は任意です。



52
53
54
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 52行を

デフォルト 下降(*フィールド)
  sort_with_list(*フィールド, -1)
end

ヒント(値 = nil) =任意

クエリ オプションに インデックスのヒント を追加します。

例:

Add an index hint.

optional.hint("$natural" => 1)

パラメーター:

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

    インデックスのヒント。

次の値を返します。

  • 任意

    の複製は任意です。



67
68
69
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 67行を

デフォルト hint(価値 = nil)
  オプション(価値) { |options| options.store(:hint, 価値) }
end

#limit(value = nil) ⇒ Optional

返される結果に制限するドキュメントの数を追加します。

例:

返されたドキュメントの数を制限します。

optional.limit(20)

パラメーター:

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

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

次の値を返します。

  • 任意

    の複製は任意です。



79
80
81
82
83
84
85
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 79行を

デフォルト limit(価値 = nil)
  オプション(価値) 行う |options, クエリ|
    価値 = 価値.to_i
    options.store(:limit, 価値)
    クエリ.パイプライン.プッシュ(" $limit " => 価値) 場合 集計しますか
  end
end

# max_scan (値 = nil) =任意

コレクション内のスキャンされたドキュメント数を制限するオプションを追加します。

例:

最大スキャン制限を追加します。

optional.max_scan(1000)

パラメーター:

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

    スキャンするドキュメントの最大数。

次の値を返します。

  • 任意

    の複製は任意です。



96
97
98
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 96行を

デフォルト max_scan(価値 = nil)
  オプション(価値) { |options| options.store(:max_scan, 価値) }
end

# max_time_ms (値 = nil) =任意

カーソルに対する情報処理操作の累積時間制限をミリ秒単位で追加します。

例:

max time ms オプションを追加します。

optional.max_time_ms(200)

パラメーター:

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

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

次の値を返します。

  • 任意

    の複製は任意です。



108
109
110
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 108行を

デフォルト max_time_ms(価値 = nil)
  オプション(価値) { |options| options.store(:max_time_ms, 価値) }
end

# no_timeout =任意

クエリがタイムアウトしないように指示します。

例:

クエリがタイムアウトしないように指示します。

optional.no_timeout

次の値を返します。

  • 任意

    の複製は任意です。



118
119
120
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 118行を

デフォルト no_timeout
  複製.タップ { |クエリ| クエリ.options.store(:timeout, false) }
end

#のみ(*args)=任意

指定されたフィールドのみを含むように結果を制限します。

例:

指定されたフィールドに結果を制限します。

optional.only(:name, :dob)

パラメーター:

  • *args (Symbol...)

    返すフィールド。

次の値を返します。

  • 任意

    の複製は任意です。



130
131
132
133
134
135
136
137
138
139
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 130行を

デフォルト 制限する(*args)
  args = args.平面
  オプション(*args) 行う |options|
    options.store(
      :fields,
      args.inject(options[:fields] || {}){ |サブ, フィールド| サブ.タップ { サブ[フィールド] = 1 }},
      false
    )
  end
end

#order_by ( *spec) ========================================================================================================

オプションに並べ替え基準を追加します。

例:

整数方向のハッシュでソートのオプションを追加します。

optional.order_by(name: 1, dob: -1)

シンボル方向のハッシュでソートのオプションを追加します。

optional.order_by(name: :asc, dob: :desc)

string の方向を持つハッシュでソートのオプションを追加します。

optional.order_by(name: "asc", dob: "desc")

整数方向の配列を介してソート オプションを追加します。

optional.order_by([[ name, 1 ], [ dob, -1 ]])

シンボルの方向を指定した配列でソート オプションを追加します。

optional.order_by([[ :name, :asc ], [ :dob, :desc ]])

string の方向を持つ配列を介してソート オプションを追加します。

optional.order_by([[ "name", "asc" ], [ "dob", "desc" ]])

キーを使用してソート オプションを追加しました。

optional.order_by(:name.asc, :dob.desc)

string 経由でソート オプションを追加します。

optional.order_by("name ASC, dob DESC")

パラメーター:

  • *spec [ 配列 | ハッシュ | string ]...

    ソート仕様。

次の値を返します。

  • 任意

    の複製は任意です。



170
171
172
173
174
175
176
177
178
179
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 170行を

デフォルト order_by(*スペック)
  オプション(スペック) 行う |options, クエリ|
    スペック.compact. 行う |criterion|
      criterion.__sort_option__.each_pair 行う |フィールド, 方向|
        add_sort_option(options, フィールド, 方向)
      end
      クエリ.パイプライン.プッシュ(" $sort " => options[:sort]) 場合 集計しますか
    end
  end
end

#並べ替え(*spec) =任意

順序基準をマージする代わりに、このメソッドを使用して、既存の順序を指定された で完全に置き換えます。

例:

順序を置き換えます。

optional.reorder(name: :asc)

パラメーター:

  • *spec [ 配列 | ハッシュ | string ]...

    ソート仕様。

次の値を返します。

  • 任意

    の複製は任意です。



191
192
193
194
195
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 191行を

デフォルト reorder(*スペック)
  複製.タップ 行う |クエリ|
    クエリ.options.削除(:sort)
  end.order_by(*スペック)
end

# skip (値 = nil) =オプションまたはオフセットとも呼ばれる

スキップするドキュメントの数を追加します。

例:

スキップする数を追加します。

optional.skip(100)

パラメーター:

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

    スキップする数。

次の値を返します。

  • 任意

    の複製は任意です。



205
206
207
208
209
210
211
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 205行を

デフォルト スキップ(価値 = nil)
  オプション(価値) 行う |options, クエリ|
    価値 = 価値.to_i
    options.store(:skip, 価値)
    クエリ.パイプライン.プッシュ(" $skip " => 価値) 場合 集計しますか
  end
end

スライスの数(基準は nil)=任意

埋め込み配列をスケーリングして返される結果を制限します。

例:

返された結果をスライスします。

optional.slice(aliases: [ 0, 5 ])

パラメーター:

  • criterion ハッシュ (デフォルトはnil

    スライスのオプション。

次の値を返します。

  • 任意

    の複製は任意です。



222
223
224
225
226
227
228
229
230
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 222行を

デフォルト スライス(criterion = nil)
  オプション(criterion) 行う |options|
    options.__union__(
      フィールド: criterion.inject({}) 行う |オプション, (フィールド, 価値)|
        オプション.タップ { |opt| opt.store(フィールド, { " $slice " => 価値 }) }
      end
    )
  end
end

#スナップショット=任意

クエリにスナップショット モードで動作するように指示します。

例:

スナップショット オプションを追加します。

optional.snapshot

次の値を返します。

  • 任意

    の複製は任意です。



238
239
240
241
242
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 238行を

デフォルト スナップショット
  複製.タップ 行う |クエリ|
    クエリ.options.store(:snapshot, true)
  end
end

(*args)なしの# =任意

提供されていないフィールドのみを含むように結果を制限します。

例:

提供されていないフィールドに結果を制限します。

optional.without(:name, :dob)

パラメーター:

  • *args (Symbol...)

    無視するフィールド。

次の値を返します。

  • 任意

    の複製は任意です。



252
253
254
255
256
257
258
259
260
261
# ファイル 'lib/mongoid/criteria/queryable/optional.rb' は、 252行を

デフォルト 次のない:(*args)
  args = args.平面
  オプション(*args) 行う |options|
    options.store(
      :fields,
      args.inject(options[:fields] || {}){ |サブ, フィールド| サブ.タップ { サブ[フィールド] = 0 }},
      false
    )
  end
end