모듈: Mongo::Collection::View::Iterable

다음을 포함합니다.
Mongo::CursorHost
포함 항목:
Mongo::Collection::View, Aggregation::Behavior
다음에 정의됨:
lib/ Mongo/ 컬렉션/view/iterable.rb

개요

커서 인스턴스화를 포함하여 컬렉션 뷰의 반복 관련 동작을 정의합니다.

이후:

  • 2.0.0

인스턴스 속성 요약

Mongo::CursorHost에포함된 속성

#cursor, #timeout_mode

인스턴스 메서드 요약 접기

Mongo::CursorHost에 포함된 메서드

#validate_timeout_mode!

인스턴스 메서드 세부 정보

#close_querynil 또한 다음과 같이 알려져 있습니다: kill_cursors

참고:

이 메서드는 서버 측 커서 를 닫을 때 발생하는 모든 오류를 전파합니다.

이 쿼리와 연결된 리소스를 정리합니다.

이 쿼리 와 연결된 서버 커서 가 있는 경우 서버 에 KillCursors 명령을 전송하여 쿼리를 닫습니다.

반환합니다:

  • (nil)

    항상 nil입니다.

다음을 발생시킵니다.

이후:

  • 2.1.0



75
76
77
78
79
# 파일 'lib/ Mongo/ 컬렉션/view/iterable.rb', 줄 75

def close_query
  만약 @cursor
    @cursor.닫기
  end
end

# {|Each| ... } ⇒ 열거자

View 을(를) 사용하여 쿼리에서 반환된 문서를 반복합니다.

예시:

뷰의 결과를 반복합니다.

view.each do |document|
  p document
end

수율 매개변수:

  • (해시)

    일치하는 문서.

반환합니다:

  • (열거자)

    열거자입니다.

이후:

  • 2.0.0



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# 파일 'lib/ Mongo/ 컬렉션/view/iterable.rb', 줄 43

def 
  @cursor = prefer_cached_cursor? ? cached_cursor : new_cursor_for_iteration
  반환 @cursor.to_enum 하지 않는 한 block_given?

  limit_for_cached_query = compute_limit_for_cached_query

  # Ruby 버전 2.5 이전 버전은 arr[0..nil] 구문을 지원하지 않으므로
  # 이는 별도의 조건부여야 합니다.
  cursor_to_iterate = 만약 limit_for_cached_query
    @cursor.to_a[0...limit_for_cached_query]
  other
    @cursor
  end

  cursor_to_iterate. do |doc|
    yield doc
  end
end