클래스: Mongo::Collection::View
- 상속:
-
객체
- 객체
- Mongo::Collection::View
- 확장자:
- 전달 가능
- 다음에 정의됨:
- lib/mongo/collection/view.rb,
lib/mongo/collection/view/iterable.rb,
lib/mongo/collection/view/readable.rb,
lib/mongo/collection/view/writable.rb,
lib/mongo/collection/view/immutable.rb,
lib/mongo/collection/view/map_reduce.rb,
lib/mongo/collection/view/aggregation.rb,
lib/mongo/collection/view/explainable.rb,
lib/mongo/collection/view/change_stream.rb,
lib/mongo/collection/view/builder/map_reduce.rb,
lib/mongo/collection/view/builder/aggregation.rb,
lib/mongo/collection/view/aggregation/behavior.rb,
lib/mongo/collection/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 ⇒ Integer | nil | The timeout_ms value that was passed as an option to the view.
읽기 전용
비공개
Integer | nil | The timeout_ms value that was passed as an option to the view.
Attributes included from Mongo::CursorHost
불변에 포함된 속성
인스턴스 메서드 요약 접기
-
#==(기타) ⇒ 참, 거짓 (동의어: #eql?)
두 개의
View
객체를 비교합니다. -
#해시 ⇒ 정수
컬렉션 네임스페이스, 옵션의 해시, 필터의 해시로 구성된
View
의 해시 값입니다. -
#initialize(컬렉션, 필터하다 = {}, options = {}) ⇒ View
생성자
새
View
를 만듭니다. -
#검사 ⇒ string
사람이 읽을 수 있는
View
의 string 표현을 가져옵니다. -
#operation_timeouts(opts = {}) ⇒ Hash
비공개
Timeout_ms value set on the operation level (if any), and/or timeout_ms that is set on collection/database/client level (if any).
-
#timeout_ms ⇒ Integer | nil
The timeout_ms value to use for this operation; either specified as an option to the view, or inherited from the collection.
-
#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에 포함된 메서드
#aggregate, #allow_disk_use, #allow_partial_results, #await_data, #batch_size, #comment, #count, #count_documents, #cursor_type, #distinct, #estimated_document_count, #hint, #limit, #map_reduce, #max_await_time_ms, #max_scan, #max_time_ms, #max_value, #min_value, #modifiers, #no_cursor_timeout, #parallel_scan, #projection, #read, #read_concern, #read_preference, #return_key, #show_disk_loc, #skip, #snapshot, #sort
Iterable에 포함된 메서드
Methods included from 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 |
# File 'lib/mongo/collection/view.rb', line 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 |
# File 'lib/mongo/collection/view.rb', line 56 def 컬렉션 @collection end |
#필터 ⇒ 해시 (읽기 전용) 라고도 함: 선택기
쿼리 필터하다 를 반환합니다.
59 60 61 |
# File 'lib/mongo/collection/view.rb', line 59 def 필터 @filter end |
#operation_timeout_ms ⇒ Integer | nil | The timeout_ms value that was passed as an option to the view. (readonly)
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
Returns Integer | nil | The timeout_ms value that was passed as an option to the view.
81 82 83 |
# File 'lib/mongo/collection/view.rb', line 81 def operation_timeout_ms @operation_timeout_ms end |
인스턴스 메서드 세부 정보
#==(기타) ⇒ true, false ~ 라고도 함: eql?
두 개의 View
객체를 비교합니다.
92 93 94 95 96 97 |
# File 'lib/mongo/collection/view.rb', line 92 def ==(기타) 반환 거짓 하지 않는 한 기타.is_a?(보기) 컬렉션 == 기타.컬렉션 && 필터 == 기타.필터 && == 기타. end |
#해시 ⇒ 정수
컬렉션 네임스페이스, 옵션의 해시, 필터의 해시로 구성된 View
의 해시 값입니다.
109 110 111 |
# File 'lib/mongo/collection/view.rb', line 109 def 해시 [ 컬렉션.namespace, .해시, 필터.해시 ].해시 end |
#검사 ⇒ string
사람이 읽을 수 있는 View
의 string 표현을 가져옵니다.
207 208 209 210 |
# File 'lib/mongo/collection/view.rb', line 207 def 검사 "#<Mongo::Collection::View:0x#{object_id} 네임스페이스='#{컬렉션.네임스페이스}'" + "@filter =#{필터하다.to_s} @options=#{.to_s}>" end |
#operation_timeouts(opts = {}) ⇒ Hash
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
Returns timeout_ms value set on the operation level (if any), and/or timeout_ms that is set on collection/database/client level (if any).
228 229 230 231 232 233 234 235 236 |
# File 'lib/mongo/collection/view.rb', line 228 def operation_timeouts(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
The timeout_ms value to use for this operation; either specified as an option to the view, or inherited from the collection.
195 196 197 |
# File 'lib/mongo/collection/view.rb', line 195 def timeout_ms operation_timeout_ms || 컬렉션.timeout_ms end |
#write_concern ⇒ Mongo::WriteConcern
이 View
에 대한 쓰기 고려 (write concern) 를 가져옵니다.
220 221 222 |
# File 'lib/mongo/collection/view.rb', line 220 def write_concern writeConcern.get([:write_concern] || [:write] || 컬렉션.write_concern) end |