클래스: Mongo::Database::View

상속:
객체
  • 객체
모두 표시
확장자:
전달 가능
다음을 포함합니다.
열거 가능, Cursor::NonTailable,CursorHost, 재시도 가능
다음에 정의됨:
lib/mongo/database/view.rb

개요

데이터베이스의 뷰를 나타내는 클래스입니다.

이후:

  • 2.0.0

인스턴스 속성 요약 접기

CursorHost에포함된 속성

#cursor, #timeout_mode

인스턴스 메서드 요약 접기

Cursor::NonTailable에 포함된 메서드

#cursor_type, #timeout_mode

CursorHost에포함된 메서드

#validate_timeout_mode!

Retryable에 포함된 메서드

#read_Worker, #select_server, #write_Worker

생성자 세부 정보

#initialize(database, options = {}) ⇒ View

새 데이터베이스 뷰를 만듭니다.

예시:

새 데이터베이스 뷰를 만듭니다.

Database::View.new(database)

매개변수:

  • database (데이터베이스)

    데이터베이스.

  • 옵션 (해시) (기본값: {})

    보기를 구성하는 데 사용할 수 있는 옵션입니다.

옵션 해시(options):

  • :timeout_mode (:cursor_Lifetime | :iteration)

    :timeout_ms를 해석하는 방법( 커서 의 수명에 적용되는지 또는 반복별로 적용되는지 여부).

  • :timeout_ms (정수)

    작업 시간 제한(밀리초)입니다. 음수가 아닌 정수여야 합니다. 0 의 명시적 값은 무한대를 의미합니다. 기본값 은 설정되지 않았으며 이는 값이 데이터베이스 또는 클라이언트 에서 상속됨을 의미합니다.

이후:

  • 2.0.0



149
150
151
152
153
154
155
156
157
158
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 149

def 초기화(database, 옵션 = {})
  @database = database
  @operation_timeout_ms = 옵션.삭제(:timeout_ms)

  validate_timeout_mode!(옵션)

  @batch_size =  nil
  @limit = nil
  @collection = @database[Database::명령]
end

인스턴스 속성 세부 정보

#batch_size정수 (읽기 전용)

반환값 batch_size listCollections 명령을 보낼 때 결과 배치의 크기입니다.

반환합니다:

  • (정수)

    batch_size listCollections 명령을 보낼 때 결과 배치의 크기입니다.

이후:

  • 2.0.0



40
41
42
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 40

def batch_size
  @batch_size
end

#collectioncollection (읽기 전용)

반환값 collection 명령 collection입니다.

반환합니다:

  • (컬렉션)

    collection 명령 컬렉션입니다.

이후:

  • 2.0.0



46
47
48
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 46

def 컬렉션
  @collection
end

#데이터베이스객체 (읽기 전용)

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

이후:

  • 2.0.0



161
162
163
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 161

def database
  @database
end

#limit정수 (읽기 전용)

명령을 보낼 때 제한을 반환합니다.

반환합니다:

  • (정수)

    limit 명령을 보낼 때 제한을 설정합니다.

이후:

  • 2.0.0



43
44
45
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 43

def limit
  @limit
end

#operation_timeout_ms정수 | nil | 뷰에 옵션으로 전달된 timeout_ms 값입니다. (읽기 전용)

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

반환값 정수 | nil | 뷰에 옵션으로 전달된 timeout_ms 값입니다.

반환합니다:

  • (정수 | nil | 뷰에 옵션으로 전달된 timeout_ms 값입니다.)

    정수 | nil | 뷰에 옵션으로 전달된 timeout_ms 값입니다.

이후:

  • 2.0.0



167
168
169
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 167

def operation_timeout_ms
  @operation_timeout_ms
end

인스턴스 메서드 세부 정보

#aggregate(pipeline, options = {}) ⇒ Collection::View::Aggregation

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

데이터베이스 뷰에서 애그리게이션을 실행합니다.

예시:

문서를 집계합니다.

view.aggregate([
  { "$listLocalSessions" => {} }
])

매개변수:

  • 파이프라인 (Array<Hash>)

    집계 파이프라인.

  • 옵션 (해시) (기본값: {})

    애그리게이션 옵션.

반환합니다:

이후:

  • 2.10.0



183
184
185
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 183

def 집계(파이프라인, 옵션 = {})
  컬렉션::보기::집계.신규(self, 파이프라인, 옵션)
end

#collection_names(options = {}) ⇒ Array<String>

참고:

반환되는 컬렉션 이름 집합은 요청을 처리하는 MongoDB 서버의 버전에 따라 달라집니다.

데이터베이스 에 있는 비시스템 컬렉션의 모든 이름을 가져옵니다.

See https://mongodb.com/ko-kr/docs/manual/reference/command/listCollections/
for more information and usage.

매개변수:

  • 옵션 (해시) (기본값: {})

    listCollections 명령에 대한 옵션입니다.

옵션 해시(options):

  • :batch_size (정수)

    listCollections 명령에서 반환된 결과의 배치 크기입니다.

  • :filter (해시)

    반환된 컬렉션에 대한 필터입니다.

  • :authorized_collections (true, false)

    true로 설정하면 액세스 제어가 시행될 때 필요한 권한이 없는 사용자도 명령을 실행할 수 있도록 하는 플래그입니다.

  • :comment (객체)

    이 명령에 첨부할 사용자 제공 코멘트입니다.

  • :timeout_ms (정수)

    작업 시간 제한(밀리초)입니다. 음수가 아닌 정수여야 합니다. 0 의 명시적 값은 무한대를 의미합니다. 기본값 은 설정되지 않았으며 이는 값이 데이터베이스 또는 클라이언트 에서 상속됨을 의미합니다.

  • :session (세션)

    사용할 세션입니다.

반환합니다:

  • (Array<String>)

    모든 비시스템 컬렉션의 이름입니다.

이후:

  • 2.0.0



75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 75

def collection_names(옵션 = {})
  @batch_size = 옵션[:batch_size]
  Session = 고객.get_session(옵션)
  컨텍스트 = 작업::Context.신규(
    클라이언트: 고객,
    세션: Session,
    operation_timeout: operation_timeout(옵션)
  )
  cursor = read_with_retry_cursor(Session, ServerSelector.기본, self, 컨텍스트: 컨텍스트) do |서버|
    send_initial_query(서버, Session, 컨텍스트, 옵션.merge(name_only: true))
  end
  cursor.map do |정보|
    만약 cursor.initial_result.connection_description.기능.list_collections_enabled?
      정보['name']
    other
      (정보['name'] &&
        정보['name'].sub("#{@database.name}.", ''))
    end
  end.거부 do |이름|
    이름.start_with?('시스템.') || 이름.포함?('$')
  end
end

#list_collections(options = {}) ⇒ Array<Hash>

참고:

반환되는 컬렉션 집합과 컬렉션당 정보 해시의 스키마는 요청을 처리하는 MongoDB 서버 버전에 따라 다릅니다.

데이터베이스의 모든 컬렉션에 대한 정보를 가져옵니다.

예시:

각 컬렉션에 대한 정보를 가져옵니다.

database.list_collections

매개변수:

  • 옵션 (해시) (기본값: {})

옵션 해시(options):

  • :filter (해시)

    반환된 컬렉션에 대한 필터입니다.

  • :name_only (true, false)

    명령이 컬렉션/view 이름과 유형만 반환할지, 아니면 이름과 기타 정보를 모두 반환할지 여부를 나타냅니다.

  • :authorized_collections (true, false)

    true로 설정하다 하고 nameOnly: true와 함께 사용하면 액세스 제어가 시행될 때 필요한 권한 이 없는 사용자도 명령을 실행 수 있는 플래그입니다.

    mongodb.com/ko-kr/docs/manual/reference/command/listCollections/를 참조하세요. 자세한 내용 및 사용법은 다음을 참조하세요.

  • :session (세션)

    사용할 세션입니다.

  • :deserialize_as_bson (부울)

    가능한 BSON types Ruby 경우 네이티브 유형 대신 을 사용하여 이 메시지를 역직렬화할지 여부입니다.

반환합니다:

  • (Array<Hash>)

    데이터베이스의 각 컬렉션에 대한 정보입니다.

이후:

  • 2.0.5



127
128
129
130
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 127

def list_collections(옵션 = {})
  Session = 고객.get_session(옵션)
  collections_info(Session, ServerSelector.기본, 옵션)
end

#operation_timeouts(opts = {}) ⇒ 해시

이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.

작업 수준에 설정하다 timeout_ms 값(있는 경우)을 반환합니다.

반환합니다:

  • (해시)

    작업 수준에 설정하다 timeout_ms 값(있는 경우)입니다.

이후:

  • 2.0.0



198
199
200
201
202
203
204
205
206
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 198

def operation_timeout(opts = {})
  {}. do |결과|
    만약 opts[:timeout_ms] || operation_timeout_ms
      결과[:operation_timeout_ms] = opts.삭제(:timeout_ms) || operation_timeout_ms
    other
      결과[:inherited_timeout_ms] = database.timeout_ms
    end
  end
end

#timeout_msInteger | nil

이 작업에 사용할 timeout_ms 값입니다. 뷰의 옵션으로 지정되거나 데이터베이스 에서 상속됩니다.

반환합니다:

  • (정수 | nil)

    이 작업에 대한 timeout_ms

이후:

  • 2.0.0



191
192
193
# 파일 'lib/ Mongo/ 데이터베이스/view.rb', 줄 191

def timeout_ms
  operation_timeout_ms || database.timeout_ms
end