モジュール: Mongoid::Criteria::Queryable::Aggregable

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

Overview

集計フレームワーク コマンドの作成に関する DSL を提供します。

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

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

Macroableに含まれるメソッド

キー

インスタンス属性の詳細

#集計 集計しているかどうかのフラグ。 (フラグ) =オブジェクト



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

attr_writer : 集計

#集計= (値) =オブジェクト(書込み専用)

属性の集計を設定します

パラメーター:

  • 価値

    属性を集計するための値。



16
17
18
# ファイル 'lib/mongoid/criteria/queryable/aggregable.rb' は、 16行を

デフォルト aggregate=(価値)
  @aggregation = 価値
end

パイプライン=オブジェクト(読み取り専用)

属性パイプラインの値を返します。



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

デフォルト パイプライン
  @ pipeline
end

# pipeline 集計パイプライン。 (集計パイプライン。) →オブジェクト(読み取り専用)



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

attr_reader : パイプライン

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

集計は必要ありません = true | false

集計可能で 集計 状態になります。 つまり、 は、この時点で許可されている集計操作のみです。

例:

集計可能な は集計していますか?

aggregable.aggregating?

次の値を返します。

  • true | false

    集計可能な が集計している場合。



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

デフォルト 集計しますか
  !!@aggregation
end

グループ(操作) = 集計可能

集計パイプラインにグループ($group)操作を追加します。

例:

冗長なグループ操作を追加します。

aggregable.group(count: { "$sum" => 1 }, max: { "$max" => "likes" })

シンボル ショートカットを使用したグループ操作を追加しました。

aggregable.group(:count.sum => 1, :max.max => "likes")

パラメーター:

  • 操作 ハッシュ

    グループ操作。

次の値を返します。



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

デフォルト グループ(操作)
  集計(操作) 行う |パイプライン|
    パイプライン.グループ(操作)
  end
end

プロジェクト(operation = nil) =集計可能

集計パイプラインにプロジェクション($project)を追加する。

例:

パイプラインにプロジェクションを追加します。

aggregable.project(author: 1, name: 0)

パラメーター:

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

    作成するプロジェクション。

次の値を返します。



62
63
64
65
66
# ファイル 'lib/mongoid/criteria/queryable/aggregable.rb' は、 62行を

デフォルト プロジェクト(操作 = nil)
  集計(操作) 行う |パイプライン|
    パイプライン.プロジェクト(操作)
  end
end

#unwind (field) = 集計可能

集計パイプラインに展開($unwind)を追加します。

例:

パイプラインに展開を追加する。

aggregable.unwind(:field)

パラメーター:

  • フィールド ( string | Symbol )

    展開するフィールドの名前。

次の値を返します。



76
77
78
79
80
# ファイル 'lib/mongoid/criteria/queryable/aggregable.rb' は、 76行を

デフォルト unwind(フィールド)
  集計(フィールド) 行う |パイプライン|
    パイプライン.unwind(フィールド)
  end
end