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

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

Overview

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

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

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

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

Macroableに含まれるメソッド

キー

インスタンス属性の詳細

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

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



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

デフォルト options
  @options
end

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



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

attr_accessor :options

クラスメソッドの詳細

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

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

例:

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

Optional.forwardables

次の値を返します。

  • 配列<Symbol>

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



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

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

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

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

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

例:

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

optional.ascending(:first_name, :last_name)

パラメーター:

  • *fields (Symbol...)

    ソートするフィールド。

次の値を返します。

  • 任意

    の複製は任意です。



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

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

#batch_size (値 = nil) =任意

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

例:

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

optional.batch_size(500)

パラメーター:

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

    バッチ サイズ。

次の値を返します。

  • 任意

    の複製は任意です。



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

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

#照合(collation_doc) =任意

照合の設定。

例:

照合の設定。

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

パラメーター:

  • collation_doc ハッシュ

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

次の値を返します。

  • 任意

    の複製は任意です。



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

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

#comment(comment = nil) ⇒ Optional

注:

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

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

例:

コメントを追加します。

optional.comment('slow query')

パラメーター:

  • comment string (デフォルトはnil

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

次の値を返します。

  • 任意

    の複製は任意です。



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

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

# cursor_type (タイプ) ~任意

注:

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

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

例:

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

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

パラメーター:

  • タイプ シンボル

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

次の値を返します。

  • 任意

    の複製は任意です。



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

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

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

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

例:

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

optional.descending(:first_name, :last_name)

パラメーター:

  • *fields (Symbol...)

    ソートするフィールド。

次の値を返します。

  • 任意

    の複製は任意です。



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

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

ヒント(値 = nil) =任意

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

例:

Add an index hint.

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

パラメーター:

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

    インデックスのヒント。

次の値を返します。

  • 任意

    の複製は任意です。



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

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

#limit(value = nil) ⇒ Optional

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

例:

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

optional.limit(20)

パラメーター:

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

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

次の値を返します。

  • 任意

    の複製は任意です。



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

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

# max_scan (値 = nil) =任意

非推奨。

max_scan オプションはMongoDB 4.0 以降では非推奨です。代わりに max_time_ms を使用してください。

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

例:

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

optional.max_scan(1000)

パラメーター:

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

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

次の値を返します。

  • 任意

    の複製は任意です。



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

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

# max_time_ms (値 = nil) =任意

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

例:

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

optional.max_time_ms(200)

パラメーター:

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

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

次の値を返します。

  • 任意

    の複製は任意です。



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

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

# no_timeout =任意

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

例:

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

optional.no_timeout

次の値を返します。

  • 任意

    の複製は任意です。



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

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

#のみ(*args)=任意

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

例:

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

optional.only(:name, :dob)

パラメーター:

  • *args (Symbol...)

    返すフィールド。

次の値を返します。

  • 任意

    の複製は任意です。



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

デフォルト 制限する(*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 ]...

    ソート仕様。

次の値を返します。

  • 任意

    の複製は任意です。



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

デフォルト 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 ]...

    ソート仕様。

次の値を返します。

  • 任意

    の複製は任意です。



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

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

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

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

例:

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

optional.skip(100)

パラメーター:

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

    スキップする数。

次の値を返します。

  • 任意

    の複製は任意です。



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

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

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

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

例:

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

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

パラメーター:

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

    スライスのオプション。

次の値を返します。

  • 任意

    の複製は任意です。



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

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

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

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

例:

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

optional.snapshot

次の値を返します。

  • 任意

    の複製は任意です。



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

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

(*args)なしの# =任意

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

例:

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

optional.without(:name, :dob)

パラメーター:

  • *args (Symbol...)

    無視するフィールド。

次の値を返します。

  • 任意

    の複製は任意です。



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

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