クラス: Mongoid::Contextual::MapReduce

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
列挙可能、コマンド
定義:
lib/mongoid/contextual/map_reduce.rb

Overview

mapReduce データベースコマンドの指示を表します。

インスタンス属性の概要

コマンドに含まれる属性

コレクションコレクション クエリ対象のコレクションです。#criteria#criteria コンテキストの基準。

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

コマンドに含まれるメソッド

#client

コンストラクターの詳細

#初期化(コレクション、基準、map、reduce)= MapReduce

新しい map/reduce ディレクティブを初期化します。

例:

新しい map/reduce を初期化します。

MapReduce.new(criteria, map, reduce)

パラメーター:

  • 条件 基準

    Mongoid 基準。

  • map ( string )

    map JavaScript関数。

  • reduce ( string )

    reduce JavaScript関数。



77
78
79
80
81
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行77

デフォルト 初期化(コレクション, 条件, map, reduce)
  @collection = コレクション
  @criteria = 条件
  @map_reduce = @criteria.表示.map_reduce(map, reduce)
end

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

#コマンド=ハッシュ

コマンド仕様のセレクターを返します。

次の値を返します。

  • ハッシュ

    セレクター。



221
222
223
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行221

デフォルト コマンド
  @map_reduce.送信(:map_reduce_spec)[: セレクター]
end

カウントハッシュ

map-reduce によって返されたすべてのカウントを取得します。

例:

カウントを取得します。

map_reduce.counts

次の値を返します。

  • ハッシュ

    はカウントします。



22
23
24
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行22

デフォルト counts
  結果[" count "]
end

#列挙型

データベースから渡された追加情報を除き、map/reduce 内の各ドキュメントを反復処理します。

例:

結果を反復処理します。

map_reduce.each do |doc|
  p doc
end

次の値を返します。

  • 列挙型

    列挙型。



35
36
37
38
39
40
41
42
43
44
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行35

デフォルト 
  validate_out!
  場合 ブロック_指定
    @map_reduce. 行う |doc|
      ノードの数 doc
    end
  else
    @map_reduce.to_enum
  end
end

出力された数 =整数

map-reduce によって発行されたドキュメントの数を取得します。

例:

出力されたドキュメント数を取得します。

map_reduce.emitted

次の値を返します。

  • (整数)

    出力されたドキュメントの数。



52
53
54
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行52

デフォルト 発行された
  counts["emit"]
end

# finalize (関数)> MapReduce

map/reduce の finalize JavaScript関数を提供します。

例:

finalize 関数を提供します。

map_reduce.finalize(func)

パラメーター:

  • 関数 ( string )

    finalize 関数。

次の値を返します。



64
65
66
67
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行64

デフォルト finalize(関数)
  @map_reduce = @map_reduce.finalize(関数)
  自己
end

#inputInteger

map-reduce に入力されたドキュメントの数を取得します。

例:

入力ドキュメントの数を取得します。

map_reduce.input

次の値を返します。

  • (整数)

    入力ドキュメントの数。



89
90
91
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行89

デフォルト 入力
  counts[" input "]
end

詳しくは、 を 検査しstring ます

基準、map、reduce、 finalize、 、および アウト オプションを含む、map/reduce のかなりのstring表現を取得します。

例:

map_reduce を調べます。

map_reduce.inspect

次の値を返します。

  • ( string )

    検査string 。



207
208
209
210
211
212
213
214
215
216
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行207

デフォルト 検査する
任意 : セレクター 。 } クラス: #{ 条件 を検査し ます  klas } map: #{ コマンド [ :map ] } reduce: #{ コマンド [ :reduce ] } finalize: #{ コマンド [ : finalize ] } out: #{ コマンド [ :out ] 。 } > } を検査し ます
end

#js_modeMapReduce

map/reduce が jsMode を使用するように設定します。

例:

map/reduce を jsMode に設定します。

map_reduce.js_mode

次の値を返します。



99
100
101
102
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行99

デフォルト js_mode
  @map_reduce = @map_reduce.js_mode(true)
  自己
end

#out (ロケーション)= MapReduce

map/reduce 出力を保存する場所を指定します。 サポートされている map reduce オプションについては、 MongoDB のドキュメント を参照してください。

例:

出力をメモリに保存します。

map_reduce.out(inline: 1)

出力をコレクションに保存し、既存のドキュメントを置き換えます。

map_reduce.out(replace: "collection_name")

出力をコレクションに保存し、既存のドキュメントをマージします。

map_reduce.out(merge: "collection_name")

出力をコレクションに保存し、既存のドキュメントを減らします。

map_reduce.out(reduce: "collection_name")

map reduce から結果を返します。

map_reduce.out(inline: 1)

パラメーター:

  • ロケーション ハッシュ

    結果を保存する場所。

次の値を返します。

  • MapReduce

    map/reduce オブジェクト。



125
126
127
128
129
130
131
132
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行125

デフォルト out(ロケーション)
  正規化された = ロケーション.dup
  正規化された.transform_values! 行う |価値|
    価値.is_a?(::シンボル) ? 価値.to_s : 価値
  end
  @map_reduce = @map_reduce.out(正規化された)
  自己
end

#outputInteger

map-reduce によって出力されるドキュメントの数を取得します。

例:

出力ドキュメント数を取得します。

map_reduce.output

次の値を返します。

  • (整数)

    出力ドキュメントの数。



140
141
142
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行140

デフォルト 出力
  counts[" output "]
end

raw =ハッシュ結果とも呼ばれます: を実行します

map/reduce 操作から未加工の出力を取得します。

例:

未加工の出力を取得します。

map_reduce.raw

次の値を返します。

  • ハッシュ

    未加工の出力。



150
151
152
153
154
155
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行150

デフォルト 
  validate_out!
  cmd = コマンド
  ops = { read: 条件.options.fetch(:read) } 場合 条件.options[:read]
  @map_reduce.database.コマンド(cmd, (ops || {}).merge(セッション: _session)).最初に
end

削減された#整数

map/reduce によって削減されたドキュメントの数を取得します。

例:

削減されたドキュメント数を取得します。

map_reduce.reduced

次の値を返します。

  • (整数)

    削減されたドキュメントの数。



173
174
175
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行173

デフォルト 削減
  counts[" reduce "]
end

スコープ(オブジェクト)= MapReduce

map/reduce のグローバル スコープにJavaScriptオブジェクトを追加します。

例:

グローバル スコープにオブジェクトを追加します。

map_reduce.scope(name: value)

パラメーター:

  • オブジェクト ハッシュ

    グローバル スコープのキーと値のハッシュ。

次の値を返します。



185
186
187
188
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行185

デフォルト scope(オブジェクト)
  @map_reduce = @map_reduce.scope(オブジェクト)
  自己
end

#時間=浮動小数点

map/reduce の実行時間を取得します。

例:

実行時間を取得します。

map_reduce.time

次の値を返します。

  • 浮動小数

    ミリ秒単位の時間。



196
197
198
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行196

デフォルト 時間
  結果[" timeMillis "]
end