クラス: Mongoid::Criteria::Queryable::パイプライン

継承:
配列
  • オブジェクト
すべて表示
定義:
build/mongoid- 8.1 /lib/mongoid/criteria/queryable/ pipeline.rb

Overview

集計パイプラインを表します。

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

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

コンストラクターの詳細

#初期化(エイリアス = {}){{|_private| ... } =パイプライン

新しいパイプラインを初期化します。

例:

新しいパイプラインを初期化します。

Queryable::Pipeline.new(aliases)

パラメーター:

  • aliases ハッシュ (デフォルトは{}です)

    エイリアスからデータベース内の実際のフィールド名へのマッピングのハッシュ。

結果:

  • _自分

生成パラメータ:



47
48
49
50
ファイル 'Build/mongoid- 8.1 /lib/mongoid/criteria/queryable/pipeline.rb', 行47

デフォルト 初期化(aliases = {})
  @aliases = aliases
  ノードの数(自己) 場合 ブロック_指定
end

インスタンス属性の詳細

エイリアスオブジェクト(読み取り専用)

属性エイリアスの値を返します。



11
12
13
ファイル 'Build/mongoid- 8.1 /lib/mongoid/criteria/queryable/pipeline.rb', 行11

デフォルト aliases
  @aliases
end

#エイリアス フィールドのエイリアス。 ( フィールドエイリアス。) 詳しくは、オブジェクト(読み取り専用)



11
ファイル 'Build/mongoid- 8.1 /lib/mongoid/criteria/queryable/pipeline.rb', 行11

attr_reader :aliases

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

# __deep_ copy__ =パイプライン

集計パイプラインのディープコピー パイプライン内のすべての値とパイプライン自体をクローンします。

例:

パイプラインをディープコピーします。

pipeline.__deep_copy__

次の値を返します。



20
21
22
23
24
25
26
ファイル 'Build/mongoid- 8.1 /lib/mongoid/criteria/queryable/pipeline.rb', 行20

デフォルト __deep_ copy__
  自己.クラス.新着情報(aliases) 行う |copy|
     行う |エントリ|
      copy.プッシュ(エントリ.__deep_ copy__)
    end
  end
end

グループ(エントリ) =パイプライン

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

例:

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

pipeline.group(:_id => "foo", :count.sum => 1, :max.max => "likes")

パラメーター:

  • エントリ ハッシュ

    グループ エントリ。

次の値を返します。



36
37
38
ファイル 'Build/mongoid- 8.1 /lib/mongoid/criteria/queryable/pipeline.rb', 行36

デフォルト グループ(エントリ)
  プッシュ(" $group " => 量用(エントリ.__expand_compression__))
end

プロジェクト(エントリ)=パイプライン

$project エントリを集計パイプラインに追加します。

例:

プロジェクションを追加します。

pipeline.project(name: 1)

パラメーター:

  • エントリ ハッシュ

    プロジェクション。

次の値を返します。



60
61
62
ファイル 'Build/mongoid- 8.1 /lib/mongoid/criteria/queryable/pipeline.rb', 行60

デフォルト プロジェクト(エントリ)
  プッシュ(" $project " => 量用(エントリ))
end

# unwind (field_or_doc) =パイプライン

$unwind エントリを パイプラインに追加します。

例:

展開を追加します。

pipeline.unwind(:field)
pipeline.unwind(document)

パラメーター:

  • field_or_doc string | Symbol | ハッシュ

    フィールド名またはドキュメント。

次の値を返します。



74
75
76
77
78
79
80
81
82
ファイル 'Build/mongoid- 8.1 /lib/mongoid/criteria/queryable/pipeline.rb', 行74

デフォルト unwind(field_or_doc)
  ただし、 field_or_doc.respond_to? :keys
    正規化された = field_or_doc.to_s
    name = aliases[正規化された] || 正規化された
    プッシュ("$unwind" => name.__mongo_ Expression__)
  else
    プッシュ("$unwind" => field_or_doc)
  end
end