Class: Mongo::Protocol::Query::Upconverter

상속:
객체
  • 객체
모두 표시
다음에 정의됨:
빌드/ Ruby-driver-v2.19/lib/mongo/ 프로토콜/ 쿼리.rb

개요

레거시 쿼리 메시지를 적절한 OP_COMMAND 스타일 메시지로 변환합니다.

이후:

  • 2.1.0

상수 요약 접기

OPTION_MAPPINGS =

찾기 명령 옵션에 대한 옵션 매핑입니다.

이후:

  • 2.1.0

{
  : 프로젝트 => '프로젝션',
  :skip => 'skip',
  :limit => 'limit',
  :batch_size => 'batchSize'
}.동결
SPECIAL_FIELD_MAPPINGS =

이후:

  • 2.1.0

{
  :$readPreference => '$readPreference',
  :$orderby => 'sort',
  :$hint => '힌트',
  :$comment => 'comment',
  :$returnKey => 'returnKey',
  :$ 스냅샷 => '스냅샷',
  :$maxScan => 'maxScan',
  :$max => 'max',
  :$min => 'min',
  :$maxTimeMS => 'maxTimeMS',
  :$showDiskLoc => 'showRecordId',
  :$explain => 'explain'
}.동결
FLAG_MAPPINGS =

명령 옵션을 찾기 위한 플래그 매핑.

이후:

  • 2.1.0

{
  :tailable_cursor => 'tailable',
  :oplog_replay => 'oplogReplay',
  :no_cursor_timeout => 'noCursorTimeout',
  :await_data => 'awaitData',
  :partial => 'allowPartialResults'
}.동결

인스턴스 속성 요약 접기

인스턴스 메서드 요약 접기

생성자 세부 정보

#initialize(컬렉션, 필터하다, options, 플래그) ⇒ 업컨버터

업컨버터를 인스턴스화합니다.

예시:

업컨버터를 인스턴스화합니다.

Upconverter.new('users', { name: 'test' }, { skip: 10 })

매개변수:

  • 컬렉션 (string)

    컬렉션의 이름입니다.

  • 필터 (BSON::Document, Hash)

    필터하다 또는 명령입니다.

  • 옵션 (BSON::Document, Hash)

    옵션.

  • flags (Array<기호>)

    플래그.

이후:

  • 2.1.0



283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 프로토콜/ 쿼리.rb', 줄 283

def 초기화(컬렉션, 필터, 옵션, flags)
  # 독스트링은 해시와 BSON::Documents를 모두 요구하지만
  # 허용되는 경우, 이 클래스는 필터와 옵션을 다음과 같이 예상합니다.
  # 작업 계층에서 생성하지 않는 기호 키를 포함합니다.
  하지 않는 한 BSON::문서 === 필터
    올리다 ArgumentError, '필터는 무관심 액세스 를 제공해야 합니다. '
  end
  하지 않는 한 BSON::문서 === 옵션
    올리다 ArgumentError, '옵션은 무관심 액세스를 제공해야 합니다. '
  end
  @collection = 컬렉션
  @filter = 필터
  @options = 옵션
  @flags = flags
end

인스턴스 속성 세부 정보

#컬렉션string (읽기 전용)

컬렉션을 반환합니다. 컬렉션의 이름입니다.

반환합니다:

  • (string)

    컬렉션 컬렉션 이름입니다.

이후:

  • 2.1.0



261
262
263
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 프로토콜/ 쿼리.rb', 줄 261

def 컬렉션
  @collection
end

#필터BSON::Document, 해시 (읽기 전용)

필터하다 쿼리 필터하다 또는 명령을 반환합니다.

반환합니다:

  • (BSON::Document, Hash)

    필터하다 쿼리 필터하다 또는 명령입니다.

이후:

  • 2.1.0



264
265
266
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 프로토콜/ 쿼리.rb', 줄 264

def 필터
  @filter
end

#플래그배열<기호> (읽기 전용)

반환 플래그 플래그입니다.

반환합니다:

  • (Array<기호>)

    플래그 플래그입니다.

이후:

  • 2.1.0



270
271
272
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 프로토콜/ 쿼리.rb', 줄 270

def flags
  @flags
end

#optionsBSON::Document, 해시 (읽기 전용)

반환값 options options.

반환합니다:

  • (BSON::Document, Hash)

    options 옵션입니다.

이후:

  • 2.1.0



267
268
269
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 프로토콜/ 쿼리.rb', 줄 267

def 옵션
  @options
end

인스턴스 메서드 세부 정보

#commandBSON::Document

상향 변환된 명령을 가져옵니다.

예시:

명령을 가져옵니다.

upconverter.command

반환합니다:

  • (BSON::Document)

    상향 변환된 명령입니다.

이후:

  • 2.1.0



307
308
309
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 프로토콜/ 쿼리.rb', 줄 307

def 명령
  명령? ? op_command : find_command
end

#command_namestring

명령의 이름을 가져옵니다. 컬렉션 이 $cmd 이면 필터하다 의 첫 번째 키이고, 그렇지 않으면 찾기입니다.

예시:

명령 이름을 가져옵니다.

upconverter.command_name

반환합니다:

  • (string)

    명령 이름입니다.

이후:

  • 2.1.0



320
321
322
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/ 프로토콜/ 쿼리.rb', 줄 320

def command_name
  ((필터[:$query] || !명령?) ? :find : 필터..first).to_s
end