クラス: 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関数。



73
74
75
76
77
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行73

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

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

#コマンド=ハッシュ

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

次の値を返します。

  • ハッシュ

    セレクター。



217
218
219
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行217

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

カウントハッシュ

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

例:

カウントを取得します。

map_reduce.counts

次の値を返します。

  • ハッシュ

    はカウントします。



20
21
22
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行20

デフォルト counts
  結果[カウントします]
end

( & ブロック) =列挙型

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

例:

結果を反復処理します。

map_reduce.each do |doc|
  p doc
end

次の値を返します。

  • 列挙型

    列挙型。



33
34
35
36
37
38
39
40
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行33

デフォルト (&ブロック)
  validate_out!
  場合 ブロック_指定
    @map_reduce.(&ブロック)
  else
    @map_reduce.to_enum
  end
end

出力された数 =整数

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

例:

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

map_reduce.emitted

次の値を返します。

  • (整数)

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



48
49
50
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行48

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

# finalize (関数)> MapReduce

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

例:

finalize 関数を提供します。

map_reduce.finalize(func)

パラメーター:

  • 関数 ( string )

    finalize 関数。

次の値を返します。



60
61
62
63
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行60

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

#inputInteger

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

例:

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

map_reduce.input

次の値を返します。

  • (整数)

    入力ドキュメントの数。



85
86
87
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行85

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

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

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

例:

map_reduce を調べます。

map_reduce.inspect

次の値を返します。

  • ( string )

    検査string 。



203
204
205
206
207
208
209
210
211
212
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行203

デフォルト 検査する
  %( <Mongoid::Contextual::MapReduce セレクター: #{条件. セレクター。}クラス: #{条件. klas } map: #{ コマンド[:map ] } reduce: #{コマンド[:reduce ] } finalize:#{ コマンド [: finalize ]}out:#{ コマンド [:out]
end

#js_modeMapReduce

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

例:

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

map_reduce.js_mode

次の値を返します。



95
96
97
98
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行95

デフォルト 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 オブジェクト。



121
122
123
124
125
126
127
128
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行121

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

#outputInteger

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

例:

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

map_reduce.output

次の値を返します。

  • (整数)

    出力ドキュメントの数。



136
137
138
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行136

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

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

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

例:

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

map_reduce.raw

次の値を返します。

  • ハッシュ

    未加工の出力。



146
147
148
149
150
151
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行146

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

削減された#整数

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

例:

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

map_reduce.reduced

次の値を返します。

  • (整数)

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



169
170
171
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行169

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

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

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

例:

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

map_reduce.scope(name: value)

パラメーター:

  • オブジェクト ハッシュ

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

次の値を返します。



181
182
183
184
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行181

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

#時間=浮動小数点

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

例:

実行時間を取得します。

map_reduce.time

次の値を返します。

  • 浮動小数

    ミリ秒単位の時間。



192
193
194
# ファイル 'lib/mongoid/contextual/map_reduce.rb' 行192

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