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

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

Overview

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

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

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

コンストラクターの詳細

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

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

例:

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

Queryable::Pipeline.new(aliases)

パラメーター:

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

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

結果:

  • _自分

生成パラメータ:



48
49
50
51
# ファイル 'lib/mongoid/criteria/queryable/ pipeline.rb' は、 48行を

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

インスタンス属性の詳細

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

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



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

デフォルト aliases
  @aliases
end

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



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

attr_reader :aliases

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

# __deep_ copy__ =パイプライン

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

例:

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

pipeline.__deep_copy__

次の値を返します。



21
22
23
24
25
26
27
# ファイル 'lib/mongoid/criteria/queryable/ pipeline.rb' は、 21行を

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

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

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

例:

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

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

パラメーター:

  • エントリ ハッシュ

    グループ エントリ。

次の値を返します。



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

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

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

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

例:

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

pipeline.project(name: 1)

パラメーター:

  • エントリ ハッシュ

    プロジェクション。

次の値を返します。



61
62
63
# ファイル 'lib/mongoid/criteria/queryable/ pipeline.rb' は、 61行を

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

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

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

例:

展開を追加します。

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

パラメーター:

  • field_or_doc string | Symbol | ハッシュ

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

次の値を返します。



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

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