클래스: Mongo::Collection::View::MapReduce
- 상속:
-
객체
- 객체
- Mongo::Collection::View::MapReduce
- 확장자:
- 전달 가능
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/collection/view/map_reduce.rb
개요
컬렉션 뷰에서 맵/리듀스 작업과 관련된 동작을 제공합니다.
상수 요약 접기
- INLINE =
인라인 옵션입니다.
'inline'.동결
- REROOUT =
더 이상 사용되지 않습니다.
메시지 경로를 변경합니다.
'MapReduce 작업을 프라이머리 서버 로 다시 라우팅합니다.'.동결
Loggable에서 포함된 상수
인스턴스 속성 요약 접기
-
#map_function ⇒ string
읽기 전용
지도 지도 기능입니다.
-
#reduce_function ⇒ string
읽기 전용
리듀스(Reduce) 리듀스 함수를 사용합니다.
-
#view ⇒ View
읽기 전용
보기 컬렉션 보기.
불변에 포함된 속성
인스턴스 메서드 요약 접기
-
#각 {|Each| ... } ⇒ 열거자
맵/리듀스에서 반환된 문서를 반복합니다.
-
#실행 ⇒ Mongo::Operation::Result
컬렉션 에 출력된 경우 결과를 조회 하기 위해 가져오기 쿼리 를 수행하지 않고 맵 리듀스를 실행합니다.
-
#finalize(function = nil) ⇒ MapReduce, string
작업에 대한 finalize 함수를 설정하거나 가져옵니다.
-
#initialize(view, map, reduce, options = {}) ⇒ MapReduce
생성자
제공된 컬렉션 뷰, 함수 및 옵션에 대한 맵/리듀스를 초기화합니다.
-
#js_mode(value = nil) ⇒ MapReduce, ...
작업에 대한 jsMode 플래그를 설정하거나 가져옵니다.
-
#out(location = nil) ⇒ MapReduce, Hash
작업의 출력 위치를 설정하거나 가져옵니다.
-
#out_collection_name ⇒ Object
맵 리듀스 결과가 기록되는 컬렉션 이름을 반환합니다.
-
#out_database_name ⇒ 객체
맵 리듀스 결과가 기록되는 데이터베이스 이름을 반환합니다.
-
#범위(객체 = nil) ⇒ MapReduce, 해시
작업에 대한 범위를 설정하거나 가져옵니다.
-
#verbose(value = nil) ⇒ MapReduce, Hash
결과에 타이밍 정보를 포함할지 여부입니다.
Retryable에 포함된 메서드
#read_Worker, #select_server, #write_Worker
Loggable에 포함된 메서드
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
생성자 세부 정보
#initialize(view, map, reduce, options = {}) ⇒ MapReduce
제공된 컬렉션 뷰, 함수 및 옵션에 대한 맵/리듀스를 초기화합니다.
113 114 115 116 117 118 119 120 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 113 def 초기화(보기, map, reduce, = {}) @view = 보기 @map_function = map.dup.동결 @reduce_function = reduce.dup.동결 @options = BSON::문서.신규().동결 고객.log_warn('map_reduce 작업은 더 이상 사용되지 않습니다. 대신 집계 파이프라인을 사용하세요.') end |
인스턴스 속성 세부 정보
#map_function ⇒ string (읽기 전용)
반환값 map 지도 함수입니다.
48 49 50 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 48 def map_function @map_function end |
#reduce_function ⇒ string (읽기 전용)
reduce reduce 함수를 반환합니다.
51 52 53 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 51 def reduce_function @reduce_function end |
#보기 ⇒ 보기 (읽기 전용)
뷰를 반환합니다. 컬렉션 뷰를 반환합니다.
45 46 47 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 45 def 보기 @view end |
인스턴스 메서드 세부 정보
#각 {|Each| ... } ⇒ 열거자
맵/리듀스에서 반환된 문서를 반복합니다.
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 71 def 각 @cursor = nil Session = 고객.send(:get_session, @options) 서버 = cluster.Next_primary(nil, Session) 결과 = send_initial_query(서버, Session, 컨텍스트: 작업::Context.신규(클라이언트: 고객, 세션: Session)) 결과 = send_fetch_query(서버, Session) 하지 않는 한 인라인? @cursor = 커서.신규(보기, 결과, 서버, 세션: Session) 만약 block_given? @cursor.각 do |doc| yield doc end other @cursor.to_enum end end |
#실행 ⇒ Mongo::Operation::Result
결과를 조회하기 조회 오기 쿼리 를 수행하지 않고 맵 리듀스를 실행합니다.
if outputted to a collection.
223 224 225 226 227 228 229 230 231 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 223 def 실행 보기.send(:with_session, @options) do |Session| write_concern = 보기.write_concern_with_session(Session) 컨텍스트 = 작업::Context.신규(클라이언트: 고객, 세션: Session) nro_write_with_retry(write_concern, 컨텍스트: 컨텍스트) do |연결, txn_num, 컨텍스트| send_initial_query_with_connection(연결, Session, 컨텍스트: 컨텍스트) end end end |
#finalize(function = nil) ⇒ MapReduce, string
작업에 대한 finalize 함수를 설정하거나 가져옵니다.
98 99 100 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 98 def 마무리(함수 = nil) 구성(:finalize, 함수) end |
#js_mode(value = nil) ⇒ MapReduce, ...
작업에 대한 jsMode 플래그를 설정하거나 가져옵니다.
133 134 135 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 133 def js_mode(value = nil) 구성(:js_mode, value) end |
#out(location = nil) ⇒ MapReduce, 해시
작업의 출력 위치를 설정하거나 가져옵니다.
157 158 159 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 157 def out(위치 = nil) 구성(:out, 위치) end |
#out_collection_name ⇒ Object
맵 리듀스 결과가 기록되는 컬렉션 이름을 반환합니다. 결과가 인라인으로 반환되면 nil을 반환합니다.
163 164 165 166 167 168 169 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 163 def out_collection_name 만약 [:out].response_to?(:keys) [:out][OUT_ACTIONS.찾기 do |조치| [:out][조치] end] end || [:out] end |
#out_database_name ⇒ 객체
맵 리듀스 결과가 기록되는 데이터베이스 이름을 반환합니다. 결과가 인라인으로 반환되면 nil을 반환합니다.
173 174 175 176 177 178 179 180 181 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 173 def out_database_name 만약 [:out] 만약 [:out].response_to?(:keys) && (db = [:out][:db]) db other database.이름 end end end |
#scope(object = nil) ⇒ MapReduce, 해시
작업에 대한 범위를 설정하거나 가져옵니다.
194 195 196 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 194 def 범위(객체 = nil) 구성(:scope, 객체) end |
#verbose(value = nil) ⇒ MapReduce, Hash
결과에 타이밍 정보를 포함할지 여부입니다.
210 211 212 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 컬렉션/view/map_reduce.rb', 줄 210 def verbose(value = nil) 구성(:verbose, value) end |