클래스: Mongo::SearchIndex::View
- 상속:
-
객체
- 객체
- Mongo::SearchIndex::View
- 확장자:
- 전달 가능
- 다음을 포함합니다.
- 열거 가능, Collection::Helpers, 재시도 가능
- 다음에 정의됨:
- lib/ Mongo/search_index/view.rb
개요
검색 인덱스의 뷰를 나타내는 클래스입니다.
인스턴스 속성 요약 접기
-
#aggregate_options ⇒ Hash
읽기 전용
사용 가능한 인덱스를 쿼리할 때 집계 명령에 사용할 옵션 해시입니다.
-
#컬렉션 ⇒ Mongo::Collection
읽기 전용
이 뷰가 속한 컬렉션 입니다.
-
#requests_index_id ⇒ nil | 문자열
읽기 전용
쿼리 할 인덱스 ID입니다.
-
#requests_index_name ⇒ nil | 문자열
읽기 전용
쿼리 할 인덱스 이름입니다.
인스턴스 메서드 요약 접기
-
#create_many(인덱스) ⇒ Array<String>
단일 명령으로 여러 개의 검색 인덱스를 생성합니다.
-
#create_one(definition, 이름: nil, 유형: ' 검색') ⇒ 문자열
지정된 정의를 사용하여 단일 검색 인덱스 생성합니다.
-
#drop_one(ID: nil, 이름: nil) ⇒ Mongo::Operation::Result | false
지정된 ID 또는 이름으로 검색 인덱스 삭제합니다.
-
#각각(&block) ⇒ self | 열거자
검색 인덱스를 반복합니다.
-
#비어 있나요? ⇒ true | false
검색 인덱스 열거형이 비어 있는지 쿼리합니다.
-
#initialize(컬렉션, options = {}) ⇒ 보기
생성자
새 검색 인덱스 뷰를 만듭니다.
-
#update_one(definition, ID: nil, name: nil) ⇒ Mongo::Operation::Result
지정된 ID 또는 이름으로 검색 인덱스 업데이트합니다.
Collection::Helpers에 포함된 메서드
Retryable에 포함된 메서드
#read_Worker, #select_server, #with_overload_retry, #write_Worker
생성자 세부 정보
#initialize(컬렉션, options = {}) ⇒ 보기
새 검색 인덱스 뷰를 만듭니다.
36 37 38 39 40 41 42 43 44 45 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 36 def 초기화(컬렉션, = {}) @collection = 컬렉션 @requested_index_id = [:id] @requested_index_name = [:name] @aggregate_options = [:aggregate] || {} 반환 만약 @aggregate_options.is_a?(해시) 올리다 ArgumentError, " :aggregate 옵션은 반드시 해시여야 합니다 (got a #{@aggregate_options.class})" end |
인스턴스 속성 세부 정보
#aggregate_options ⇒ 해시(읽기 전용)
사용 가능한 인덱스를 쿼리할 때 집계 명령에 사용할 옵션 해시를 반환합니다.
23 24 25 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 23 def @aggregate_options end |
#컬렉션 ⇒ Mongo::Collection (읽기 전용)
이 뷰가 속한 컬렉션 반환합니다.
13 14 15 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 13 def 컬렉션 @collection end |
#requests_index_id ⇒ nil | 문자열(읽기 전용)
쿼리 할 인덱스 ID를 반환합니다.
16 17 18 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 16 def requests_index_id @requested_index_id end |
#requests_index_name ⇒ nil | 문자열(읽기 전용)
쿼리 할 인덱스 이름을 반환합니다.
19 20 21 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 19 def requests_index_name @requested_index_name end |
인스턴스 메서드 세부 정보
#create_many(인덱스) ⇒ Array<String>
단일 명령으로 여러 개의 검색 인덱스를 생성합니다.
71 72 73 74 75 76 77 78 79 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 71 def create_many(인덱스) 사양 = spec_with(인덱스: 인덱스.map { |v| validate_search_index!(v) }) 작업 = 작업::검색 인덱스 만들기.신규(사양) 컨텍스트 = execution_context 추적 프로그램.trace_operation(작업, 컨텍스트, op_name: 'createSearchIndexes') do 결과 = 작업.실행(Next_primary, 컨텍스트: 컨텍스트) 결과.first['indexesCreated '].map { |idx| idx['name'] } end end |
#create_one(definition, 이름: nil, 유형: ' 검색') ⇒ 문자열
지정된 정의를 사용하여 단일 검색 인덱스 생성합니다. 이름이 제공되면 새 인덱스 해당 이름이 지정됩니다.
56 57 58 59 60 61 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 56 def create_one(정의, 이름: nil, 유형: '검색 ') 사양 = { 정의: 정의, 유형: 유형 }.탭 do |SP| SP[:name] = 이름 하지 않는 한 이름.nil? end create_many([ 사양 ]).first end |
#drop_one(ID: nil, 이름: nil) ⇒ Mongo::Operation::Result | false
지정된 ID 또는 이름으로 검색 인덱스 삭제합니다. 둘 중 하나를 지정해야 하지만 둘 다 지정할 수는 없습니다.
89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 89 def drop_one(ID: nil, 이름: nil) validate_id_or_name!(id, 이름) 사양 = spec_with(index_id: id, index_name: 이름) op = 작업::DropSearchIndex.신규(사양) 컨텍스트 = execution_context 추적 프로그램.trace_operation(op, 컨텍스트, op_name: 'dropSearchIndex') do # 사양에 따라: # 드라이버는 다음에 대한 NamespaceNotFound 오류를 억제해야 합니다. # ``dropSearchIndex`` 헬퍼. 삭제 작업은 멱등 있어야 합니다. do_drop(op, nil, 컨텍스트) end end |
#각각(&block) ⇒ self | 열거자
검색 인덱스를 반복합니다.
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 111 def 각(&차단) @result ||= 시작 사양 = {}.탭 do |s| s[:id] = requests_index_id 만약 requests_index_id s[:name] = requests_index_name 만약 requests_index_name end 컬렉션.와(read_concern: {}).집계( [ { '$listSearchIndexes' => 사양 } ], ) end 반환 @result.to_enum 하지 않는 한 차단 @result.각(&차단) self end |
#비어 있나요? ⇒ true | false
검색 인덱스 열거형이 비어 있는지 쿼리합니다.
156 157 158 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 156 def 비어 있나요? 카운트.zero? end |
#update_one(definition, ID: nil, name: nil) ⇒ Mongo::Operation::Result
지정된 ID 또는 이름으로 검색 인덱스 업데이트합니다. 둘 중 하나를 제공해야 하지만 둘 다 제공할 수는 없습니다.
139 140 141 142 143 144 145 146 147 148 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 139 def update_one(정의, ID: nil, 이름: nil) validate_id_or_name!(id, 이름) 사양 = spec_with(index_id: id, index_name: 이름, index: 정의) op = 작업::updateSearchIndex.신규(사양) 컨텍스트 = execution_context 추적 프로그램.trace_operation(op, 컨텍스트, op_name: 'updateSearchIndex') do op.실행(Next_primary, 컨텍스트: 컨텍스트) end end |