モジュール: Mongoid::Contextual::Aggregable::Memory
- 次のドキュメントに含まれます。
- メモリ
- 定義:
- lib/mongoid/contextual/aggregate/memory.rb
Overview
メモリ内の値を集計するための動作を含みます。
インスタンス メソッドの概要を折りたたむ
-
#集計(フィールド) = ハッシュ
指定されたフィールドのすべての集計値を取得します。
-
# avg (フィールド) = 数値
指定されたフィールドの平均値を取得します。
-
# max (field = nil) = 数値 |ドキュメント
指定されたフィールドの最大値を取得します。
-
#分(フィールド = nil) = 数値 |ドキュメント
指定されたフィールドの最小値を取得します。
-
#sum (フィールド = nil) = 数値
指定された フィールドの合計値を取得します。
インスタンス メソッドの詳細
#集計(フィールド) =ハッシュ
指定されたフィールドのすべての集計値を取得します。 Aggregable::Mongo とのインターフェースの整合性のために提供されます。
16 17 18 19 20 |
# ファイル 'lib/mongoid/contextual/aggregate/ 16 ' の検索行 デフォルト 集計(フィールド) %w[count 合計 avg min 最大].each_with_object({}) 行う |メソッド, ハッシュ| ハッシュ[メソッド] = 送信(メソッド, フィールド) end end |
# avg (フィールド) =数値
指定されたフィールドの平均値を取得します。
30 31 32 33 34 35 36 |
# ファイル 'lib/mongoid/contextual/aggregate/ 30 ' の検索行 デフォルト avg(フィールド) 合計 = count { |doc| !doc.送信(フィールド).nil? } return nil ただし、 合計 > 0 合計 = 合計.to_f 場合 合計.is_a?(整数) 合計(フィールド) / 合計 end |
# max (field = nil) =数値 |ドキュメント
指定されたフィールドの最大値を取得します。ブロックが提供されている場合、 は Ruby の列挙APIに従って、フィールドの最大値を持つdocumentを返します。
54 55 56 57 58 |
# ファイル 'lib/mongoid/contextual/aggregate/ 54 ' の検索行 デフォルト 最大(フィールド = nil) return スーパー() 場合 ブロック_指定 aggregate_by(フィールド, :max) end |
#分(フィールド = nil) =数値 |ドキュメント
指定されたフィールドの最小値を取得します。ブロックが提供されている場合、 は Ruby の列挙APIに従って、フィールドの最小値を持つdocumentを返します。
76 77 78 79 80 |
# ファイル 'lib/mongoid/contextual/aggregate/ 76 ' の検索行 デフォルト min(フィールド = nil) return スーパー() 場合 ブロック_指定 aggregate_by(フィールド, :min) end |
#sum (フィールド = nil) =数値
指定されたフィールドの合計値を取得します。ブロックが提供されている場合、 は Ruby の列挙APIに従って合計を返します。
95 96 97 98 99 |
# ファイル 'lib/mongoid/contextual/aggregate/ 95 ' の検索行 デフォルト 合計(フィールド = nil) return スーパー(フィールド || 0) 場合 ブロック_指定 aggregate_by(フィールド, :sum) || 0 end |