클래스: 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, #write_Worker
생성자 세부 정보
#initialize(컬렉션, options = {}) ⇒ 보기
새 검색 인덱스 뷰를 만듭니다.
33 34 35 36 37 38 39 40 41 42 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 33 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 ⇒ 해시(읽기 전용)
사용 가능한 인덱스를 쿼리할 때 집계 명령에 사용할 옵션 해시를 반환합니다.
22 23 24 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 22 def @aggregate_options end |
#컬렉션 ⇒ Mongo::Collection (읽기 전용)
이 뷰가 속한 컬렉션 반환합니다.
12 13 14 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 12 def 컬렉션 @collection end |
#requests_index_id ⇒ nil | 문자열(읽기 전용)
쿼리 할 인덱스 ID를 반환합니다.
15 16 17 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 15 def requests_index_id @requested_index_id end |
#requests_index_name ⇒ nil | 문자열(읽기 전용)
쿼리 할 인덱스 이름을 반환합니다.
18 19 20 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 18 def requests_index_name @requested_index_name end |
인스턴스 메서드 세부 정보
#create_many(인덱스) ⇒ Array<String>
단일 명령으로 여러 개의 검색 인덱스를 생성합니다.
62 63 64 65 66 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 62 def create_many(인덱스) 사양 = spec_with(인덱스: 인덱스.map { |v| validate_search_index!(v) }) 결과 = 작업::검색 인덱스 만들기.신규(사양).실행(Next_primary, 컨텍스트: execution_context) 결과.first['indexesCreated '].map { |idx| idx['name'] } end |
#create_one(definition, 이름: nil, 유형: ' 검색') ⇒ 문자열
지정된 정의를 사용하여 단일 검색 인덱스 생성합니다. 이름이 제공되면 새 인덱스 해당 이름이 지정됩니다.
51 52 53 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 51 def create_one(정의, 이름: nil, 유형: '검색 ') create_many([ { 이름: 이름, 정의: 정의, 유형: 유형 } ]).first end |
#drop_one(ID: nil, 이름: nil) ⇒ Mongo::Operation::Result | false
지정된 ID 또는 이름으로 검색 인덱스 삭제합니다. 둘 중 하나를 지정해야 하지만 둘 다 지정할 수는 없습니다.
76 77 78 79 80 81 82 83 84 85 86 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 76 def drop_one(ID: nil, 이름: nil) validate_id_or_name!(id, 이름) 사양 = spec_with(index_id: id, index_name: 이름) op = 작업::DropSearchIndex.신규(사양) # 사양에 따라: # 드라이버는 다음에 대한 NamespaceNotFound 오류를 억제해야 합니다. # ``dropSearchIndex`` 헬퍼. 삭제 작업은 멱등 있어야 합니다. do_drop(op, nil, execution_context) end |
#각각(&block) ⇒ self | 열거자
검색 인덱스를 반복합니다.
95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 95 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
검색 인덱스 열거형이 비어 있는지 쿼리합니다.
136 137 138 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 136 def 비어 있나요? 카운트.zero? end |
#update_one(definition, ID: nil, name: nil) ⇒ Mongo::Operation::Result
지정된 ID 또는 이름으로 검색 인덱스 업데이트합니다. 둘 중 하나를 제공해야 하지만 둘 다 제공할 수는 없습니다.
123 124 125 126 127 128 |
# 파일 'lib/ Mongo/search_index/view.rb', 줄 123 def update_one(정의, ID: nil, 이름: nil) validate_id_or_name!(id, 이름) 사양 = spec_with(index_id: id, index_name: 이름, index: 정의) 작업::updateSearchIndex.신규(사양).실행(Next_primary, 컨텍스트: execution_context) end |