클래스: Mongo::Collection::View
- 상속:
-
객체
- 객체
- Mongo::Collection::View
- 확장자:
- 전달 가능
- 다음에 정의됨:
- lib/ Mongo/ 컬렉션/view.rb,
lib/
Mongo/
컬렉션/view/iterable.rb,
lib/ Mongo/ 컬렉션/view/readable.rb,
lib/ Mongo/ 컬렉션/view/writable.rb,
lib/ Mongo/ 컬렉션/view/mutable.rb,
lib/ Mongo/ 컬렉션/view/map_reduce.rb, lib/
Mongo/ 컬렉션/view/ 집계.rb, lib/
Mongo/ 컬렉션/view/explainable.rb, lib/ Mongo/ 컬렉션/ view/change_stream.rb,
lib/ Mongo/ 컬렉션/view/builder/map_reduce.rb,
lib/ Mongo/ 컬렉션/view/builder/ 집계.rb,
lib/ Mongo/ 컬렉션/view/ 집계/behavior.rb, lib/ Mongo/ 컬렉션/view/change_stream/retryable.rb
개요
View
API는 반공개입니다.
문서의 결과 설정하다 를 생성하는 쿼리 및 옵션을 나타냅니다.
헬퍼를 사용하여 View
를 수정할 수 있습니다. 인수가 제공되면 각 헬퍼가 View
을 반환하므로 헬퍼를 체인으로 연결할 수 있습니다.
쿼리 메시지는 '터미네이터'가 호출될 때 서버로 전송됩니다. 예를 들어 View
에서 #each가 호출되면 커서 객체가 생성된 다음 쿼리를 서버로 보냅니다.
View
는 사용자가 직접 생성하지 않습니다. 오히려 View
은 CRUD 작업이 호출될 때 View
를 생성하고 사용자가 상호 작용할 수 있도록 반환합니다.
네임스페이스 아래에 정의됨
모듈: 빌더, Explainable, Immutable, Iterable, Readable, Writable 클래스: Aggregation, ChangeStream, MapReduce
상수 요약
쓰기 가능에서 포함된 상수
Explainable에 포함된 상수
Explainable::ALL_PLANS_EXECUTION, Explainable ::EXECUTION_STATS, Explainable::QUERY_PLANNER
인스턴스 속성 요약 접기
-
#컬렉션 ⇒ collection
읽기 전용
쿼리할
Collection
입니다. -
#필터하다 ⇒ 해시 (동의어: #selector)
읽기 전용
쿼리 필터입니다.
-
#operation_timeout_ms ⇒ 정수 | nil | 뷰에 옵션으로 전달된 timeout_ms 값입니다.
읽기 전용
비공개
정수 | nil | 뷰에 옵션으로 전달된 timeout_ms 값입니다.
Mongo::CursorHost에포함된 속성
불변에 포함된 속성
인스턴스 메서드 요약 접기
-
#==(기타) ⇒ 참, 거짓 (동의어: #eql?)
두 개의
View
객체를 비교합니다. -
#해시 ⇒ 정수
컬렉션 네임스페이스, 옵션의 해시, 필터의 해시로 구성된
View
의 해시 값입니다. -
#initialize(컬렉션, 필터하다 = {}, options = {}) ⇒ View
생성자
새
View
를 만듭니다. -
#검사 ⇒ string
사람이 읽을 수 있는
View
의 string 표현을 가져옵니다. -
#operation_timeouts(opts = {}) ⇒ 해시
비공개
작업 수준에서 설정하다 Timeout_ms 값(있는 경우) 및/또는 컬렉션/ 데이터베이스/ 클라이언트 수준(있는 경우)에 설정하다 timeout_ms입니다.
-
#timeout_ms ⇒ Integer | nil
이 작업에 사용할 timeout_ms 값입니다. 뷰의 옵션으로 지정되거나 컬렉션 에서 상속됩니다.
-
#write_concern ⇒ Mongo::WriteConcern
이
View
에 대한 쓰기 고려 (write concern) 를 가져옵니다.
Writable에 포함된 메서드
#delete_many, #delete_one, #find_one_and_delete, #find_one_and_replace, #find_one_and_update, #replace_one, #update_many, #update_one
Explainable에 포함된 메서드
Readable에 포함된 메서드
#msgregate , #allow_disk_use , #allow_partial_results , #await_data , #batch_size , #comment , #count , #count_documents , #cursor_type , #distinct , #estimated_document_count , #hint , #maxtimes, #limit , #map_reduce , #_times_a , #max_value , #min_value , #modifiers , #no_cursor_timeout , #parallel_scan , # 프로젝션 , #read , #read_concern , #read_preference , #return_key , #show_disk_loc , #skip , # 스냅샷 , #sort
Iterable에 포함된 메서드
Mongo::CursorHost에 포함된 메서드
생성자 세부 정보
#initialize(컬렉션, 필터하다 = {}, options = {}) ⇒ View
새 View
를 만듭니다.
169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 169 def 초기화(컬렉션, 필터 = {}, = {}) validate_doc!(필터) 필터 = BSON::문서.신규(필터) = BSON::문서.신규() @collection = 컬렉션 @operation_timeout_ms = .삭제(:timeout_ms) validate_timeout_mode!() # 사용자가 필터하다 및 기타 수정자에서 $ 쿼리 를 전달하는 경우입니다. # 함께? 쿼리 = 필터.삭제(:$query) # 이렇게 하면 필터에 필터가 포함되지 않은 경우 수정자가 필터를 포함하게 됩니다. # $query를 통해 제공되지만 최상위 키로 제공되며, # 다운스트림 코드는 수정자에서 수정자가 아닌 키를 무시하나요? modifiers = 필터.merge(.삭제(:modifiers) || {}) @filter = (쿼리 || 필터).동결 @options = 작업::찾기::빌더::Modifiers.(modifiers).병합!().동결 end |
인스턴스 속성 세부 정보
#collection ⇒ collection (읽기 전용)
쿼리 할 Collection
을(를) 반환합니다.
56 57 58 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 56 def 컬렉션 @collection end |
#필터 ⇒ 해시 (읽기 전용) 라고도 함: 선택기
쿼리 필터하다 를 반환합니다.
59 60 61 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 59 def 필터 @filter end |
#operation_timeout_ms ⇒ 정수 | nil | 뷰에 옵션으로 전달된 timeout_ms 값입니다. (읽기 전용)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
반환값 정수 | nil | 뷰에 옵션으로 전달된 timeout_ms 값입니다.
81 82 83 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 81 def operation_timeout_ms @operation_timeout_ms end |
인스턴스 메서드 세부 정보
#==(기타) ⇒ true, false ~ 라고도 함: eql?
두 개의 View
객체를 비교합니다.
92 93 94 95 96 97 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 92 def ==(기타) 반환 거짓 하지 않는 한 기타.is_a?(보기) 컬렉션 == 기타.컬렉션 && 필터 == 기타.필터 && == 기타. end |
#해시 ⇒ 정수
컬렉션 네임스페이스, 옵션의 해시, 필터의 해시로 구성된 View
의 해시 값입니다.
109 110 111 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 109 def 해시 [ 컬렉션.namespace, .해시, 필터.해시 ].해시 end |
#검사 ⇒ string
사람이 읽을 수 있는 View
의 string 표현을 가져옵니다.
207 208 209 210 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 207 def 검사 "#<Mongo::Collection::View:0x#{object_id} 네임스페이스='#{컬렉션.네임스페이스}'" + "@filter =#{필터하다.to_s} @options=#{.to_s}>" end |
#operation_timeouts(opts = {}) ⇒ 해시
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
작업 수준에서 설정하다 timeout_ms 값(있는 경우) 및/또는 컬렉션/ 데이터베이스/ 클라이언트 수준(있는 경우)에 설정하다 timeout_ms를 반환합니다.
228 229 230 231 232 233 234 235 236 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 228 def operation_timeout(opts = {}) {}.탭 do |결과| 만약 opts[:timeout_ms] || operation_timeout_ms 결과[:operation_timeout_ms] = opts[:timeout_ms] || operation_timeout_ms other 결과[:inherited_timeout_ms] = 컬렉션.timeout_ms end end end |
#timeout_ms ⇒ Integer | nil
이 작업에 사용할 timeout_ms 값입니다. 뷰의 옵션으로 지정되거나 컬렉션 에서 상속됩니다.
195 196 197 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 195 def timeout_ms operation_timeout_ms || 컬렉션.timeout_ms end |
#write_concern ⇒ Mongo::WriteConcern
이 View
에 대한 쓰기 고려 (write concern) 를 가져옵니다.
220 221 222 |
# 파일 'lib/ Mongo/ 컬렉션/view.rb', 줄 220 def write_concern writeConcern.get([:write_concern] || [:write] || 컬렉션.write_concern) end |