モジュール: Mongoid::Contextual::Aggregable::Mongo

次のドキュメントに含まれます。
mongo
定義:
lib/mongoid/contextual/aggregable/mongo.rb

Overview

mongo . で値を集計するための動作を含みます。

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

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

#集計(フィールド) =ハッシュ

非推奨。

指定されたフィールドのすべての集計値を取得します。

例:

すべての集計値を取得します。

aggregable.aggregates(:likes)
# => {
#   "count" => 2.0,
#   "max" => 1000.0,
#   "min" => 500.0,
#   "sum" => 1500.0,
#   "avg" => 750.0
# }

パラメーター:

  • フィールド ( string | Symbol )

    フィールド名。

次の値を返します。

  • ハッシュ

    集計値を含む ハッシュ 。 ドキュメントが見つからない場合、返されるハッシュには、 0の count, の合計と nil の max, min, avg が含まれます。



30
31
32
33
34
35
36
37
# ファイル 'lib/mongoid/contextual/aggregable/ 30 ' の検索行

デフォルト 集計(フィールド)
  結果 = コレクション.集計(パイプライン(フィールド), セッション: _session).to_a
  場合 結果.空の場合
    集計可能::Empty_RESULT.dup
  else
    結果.最初に
  end
end

# avg (フィールド) =浮動小数点

非推奨。

指定されたフィールドの平均値を取得します。

例:

単一のフィールドの平均を取得します。

aggregable.avg(:likes)

パラメーター:

  • フィールド シンボル

    平均するフィールド。

次の値を返します。

  • 浮動小数

    平均。



49
50
51
# ファイル 'lib/mongoid/contextual/aggregable/ 49 ' の検索行

デフォルト avg(フィールド)
  集計(フィールド)[" avg "]
end

# max (field = nil) =浮動小数、ドキュメント

非推奨。

指定されたフィールドの最大値を取得します。 ブロックが提供されている場合、 は Ruby の列挙 API に従って、 フィールドの最大値を持つドキュメントを返します。

例:

単一フィールドの最大値を取得します。

aggregable.max(:likes)

最大値を持つドキュメントを取得します。

aggregable.max do |a, b|
  a.likes <=> b.likes
end

パラメーター:

  • フィールド 記号 (デフォルトはnil

    フィールドを最大 個に設定します。

次の値を返します。

  • 浮動小数点数 |ドキュメント

    最大値または最大値を持つドキュメント。



71
72
73
# ファイル 'lib/mongoid/contextual/aggregable/ 71 ' の検索行

デフォルト 最大(フィールド = nil)
  ブロック_指定 ? スーパー() : 集計(フィールド)[" max "]
end

#(フィールド = nil) =浮動小数点数 |ドキュメント

非推奨。

指定されたフィールドの最小値を取得します。 ブロックが提供されている場合、 は Ruby の列挙 API に従って、 フィールドの最小値を持つドキュメントを返します。

例:

単一のフィールドの分を取得します。

aggregable.min(:likes)

最小値を持つドキュメントを取得します。

aggregable.min do |a, b|
  a.likes <=> b.likes
end

パラメーター:

  • フィールド 記号 (デフォルトはnil

    最小値フィールド

次の値を返します。

  • 浮動小数点数 |ドキュメント

    最小値または最小値を持つドキュメント。



93
94
95
# ファイル 'lib/mongoid/contextual/aggregable/ 93 ' の検索行

デフォルト min(フィールド = nil)
  ブロック_指定 ? スーパー() : 集計(フィールド)["min"]
end

#sum (フィールド = nil) =浮動小数点

非推奨。

指定された フィールドの合計値を取得します。 ブロックが提供されている場合、 は Ruby の列挙 API に従って合計を返します。

例:

1 つの フィールドの合計を取得します。

aggregable.sum(:likes)

指定された ブロックの合計を取得します。

aggregable.sum(&:likes)

パラメーター:

  • フィールド 記号 (デフォルトはnil

    合計するフィールド。

次の値を返します。

  • 浮動小数

    合計値。



111
112
113
# ファイル 'lib/mongoid/contextual/aggregable/ 111 ' の検索行

デフォルト 合計(フィールド = nil)
  ブロック_指定 ? スーパー() : 集計(フィールド)[" sum "] || 0
end