クラス: Mongo::Collection::View::MapReduce

継承:
オブジェクト
  • オブジェクト
すべて表示
次による拡張機能。
転送可能
次のことが含まれます。
列挙可能、不変ログ可能再試行可能
定義:
build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb

Overview

コレクション ビューの map/reduce 操作に関する動作を提供します。

以来

  • 2.0.0

定数の概要の削減

INLIN =

インライン オプション。

以来

  • 2.1.0

'inline'.freeze
REDIRECT =
非推奨。

メッセージをリルートします。

以来

  • 2.1.0

' MapReduce操作をプライマリ サーバーにリルーティングします。 '.freeze

Loggableに含まれる定数

ログ可能::PRFIX

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

不変に含まれる属性

#options

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

再試行可能な に含まれるメソッド

#read_worker#select_server#write_worker

Loggableに含まれるメソッド

#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger

コンストラクターの詳細

#初期化(表示、マッピング、削減、オプション = {}) = MapReduce

指定されたコレクション ビュー、関数、オプションの map/reduce を初期化します。

例:

新しい map/reduce ビューを作成します。

パラメーター:

  • 表示 コレクション::View

    コレクションビュー。

  • map ( string )

    map 関数。

  • reduce ( string )

    reduce 関数。

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

    map/reduce オプション。

以来

  • 2.0.0



113
114
115
116
117
118
119
120
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行113

デフォルト 初期化(表示, map, reduce, options = {})
  @view = 表示
  @map_function = map.dup.freeze
  @reduce_function = reduce.dup.freeze
  @options = BSON::ドキュメント.新着情報(options).freeze

  クライアント.log_警告(' map_reduce 操作は非推奨です。代わりに集計パイプラインを使用してください')
end

インスタンス属性の詳細

#map_function = string (読み取り専用)

map 関数を返します。

次の値を返します。

  • ( string )

    map マップ 関数。

以来

  • 2.0.0



48
49
50
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行48

デフォルト map_function
  @map_function
end

#reduce_function = string (読み取り専用)

reduce 関数の reduce を返します。

次の値を返します。

  • ( string )

    reduce 関数の使用を減らします。

以来

  • 2.0.0



51
52
53
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行51

デフォルト reduce_function
  @reduce_function
end

#表示=表示(readonly)

コレクション ビューのビューを返します。

次の値を返します。

  • ビュー

    view コレクションビュー。

以来

  • 2.0.0



45
46
47
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行45

デフォルト 表示
  @view
end

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

{|Each| ... } =列挙型

map/reduce によって返されたドキュメントを反復処理します。

例:

map/reduce の結果を反復処理します。

map_reduce.each do |document|
  p document
end

生成パラメータ:

  • ハッシュ

    一致するドキュメント。

次の値を返します。

  • 列挙型

    列挙型。

以来

  • 2.0.0



71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行71

デフォルト 
  @cursor = nil
  セッション = クライアント.送信(:get_session, @options)
  サーバー = クラスター.next_primary(nil, セッション)
  結果 = send_initial_query(サーバー, セッション, context: 操作::Context.新着情報(クライアント: クライアント, セッション: セッション))
  結果 = send_fetch_query(サーバー, セッション) ただし、 インライン
  @cursor = Cursor.新着情報(表示, 結果, サーバー, セッション: セッション)
  場合 ブロック_指定
    @cursor. 行う |doc|
      ノードの数 doc
    end
  else
    @cursor.to_enum
  end
end

# execution = Mongo::Operation::Result

結果を検索するための取得クエリを実行せずに、map reduce を実行

if outputted to a collection.

例:

map reduce を実行し、raw 結果が得られます。

map_reduce.execute

次の値を返します。

以来

  • 2.5.0



223
224
225
226
227
228
229
230
231
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行223

デフォルト 実行する
  表示.送信(:with_session, @options) 行う |セッション|
    write_concern = 表示.write_concern_with_session(セッション)
    context = 操作::Context.新着情報(クライアント: クライアント, セッション: セッション)
    nro_write_with_retry(write_concern, context: context) 行う |接続, txn_num, context|
      send_initial_query_with_ connection(接続, セッション, context: context)
    end
  end
end

# finalize (function =nil) = mapReduce , string

操作の finalize 関数を設定または取得します。

例:

finalize 関数を設定します。

map_reduce.finalize(function)

パラメーター:

  • 関数 string (デフォルトはnil

    finalize JavaScript関数。

次の値を返します。

  • MapReduce , string

    新しい MapReduce 操作または 関数の 値。

以来

  • 2.0.0



98
99
100
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行98

デフォルト finalize(関数 = nil)
  構成する(: finalize, 関数)
end

# js_mode (値 = nil) = MapReduce 、...

操作用の jsMode フラグを設定または取得します。

例:

操作にはJavaScriptモードを設定します。

map_reduce.js_mode(true)

パラメーター:

  • 価値 truefalse (デフォルトはnil

    jsMode の値。

次の値を返します。

  • MapReducetruefalse

    新しい MapReduce 操作または jsMode フラグの値。

以来

  • 2.0.0



133
134
135
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行133

デフォルト js_mode(価値 = nil)
  構成する(:js_mode, 価値)
end

#out (ロケーション= nil)= MapReduceハッシュ

操作の出力場所を設定または取得します。

例:

出力をインラインに設定します。

map_reduce.out(inline: 1)

出力コレクションをマージするように設定します。

map_reduce.out(merge: 'users')

置き換える出力コレクションを設定します。

map_reduce.out(replace: 'users')

出力コレクションを削減するように設定します。

map_reduce.out(reduce: 'users')

パラメーター:

  • ロケーション ハッシュ (デフォルトはnil

    出力場所の詳細。

次の値を返します。

  • MapReduceハッシュ)_

    新しい MapReduce 操作または出力場所の 値。

以来

  • 2.0.0



157
158
159
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行157

デフォルト out(ロケーション = nil)
  構成する(:out, ロケーション)
end

#out_collection_nameObject

map-reduce の結果が書き込まれるコレクション名を返します。 結果がインラインで返される場合、 は nil を返します。

以来

  • 2.0.0



163
164
165
166
167
168
169
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行163

デフォルト out_collection_name
  場合 options[:out].respond_to?(:keys)
    options[:out][OUT_ACTIONS.find 行う |アクション|
      options[:out][アクション]
    end]
  end || options[:out]
end

#out_database_name =オブジェクト

map-reduce の結果が書き込まれるデータベース名を返します。 結果がインラインで返される場合、 は nil を返します。

以来

  • 2.0.0



173
174
175
176
177
178
179
180
181
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行173

デフォルト out_database_name
  場合 options[:out]
    場合 options[:out].respond_to?(:keys) & & (db = options[:out][:db])
      db
    else
      database.name
    end
  end
end

#スコープ(オブジェクト = nil)= MapReduceハッシュ

操作のスコープを設定または取得します。

例:

スコープ値を設定します。

map_reduce.scope(value: 'test')

パラメーター:

  • オブジェクト ハッシュ (デフォルトはnil

    スコープ オブジェクト。

次の値を返します。

  • MapReduceハッシュ)_

    新しい MapReduce 操作または スコープの 値。

以来

  • 2.0.0



194
195
196
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行194

デフォルト scope(オブジェクト = nil)
  構成する(:scope, オブジェクト)
end

#冗長(値 = nil) = MapReduceハッシュ

結果にタイミング情報を含めるかどうか。

例:

冗長 の値を設定します。

map_reduce.verbose(false)

パラメーター:

  • 価値 truefalse (デフォルトはnil

    結果にタイミング情報を含めるかどうか。

次の値を返します。

  • MapReduceハッシュ)_

    新しい MapReduce 操作または 冗長 オプションの値。

以来

  • 2.0.5



210
211
212
ファイル 'Build/ruby-Driver-v 2.19 /lib/mongo/collection/view/map_reduce.rb', 行210

デフォルト verbose(価値 = nil)
  構成する(:verbose, 価値)
end