클래스: Mongo::Grid::FSBucket::Stream::Read
- 상속:
-
객체
- 객체
- Mongo::Grid::FSBucket::Stream::Read
- 다음을 포함합니다.
- Enumerable
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/grid/stream/read.rb
개요
FSBucket에서 파일을 읽는 스트림입니다.
인스턴스 속성 요약 접기
-
#file_id ⇒ BSON::ObjectId, Object
읽기 전용
File_id 읽고 있는 파일의 ID입니다.
-
#fs ⇒ FSBucket
읽기 전용
Fs 이 스트림이 읽는 fs 버킷입니다.
-
옵션 #개 ⇒ 해시
읽기 전용
옵션 스트림 옵션입니다.
인스턴스 메서드 요약 접기
-
#닫기 ⇒ BSON::ObjectId, Object
읽기 스트림을 닫습니다.
-
#닫았나요? ⇒ 참, 거짓
스트림이 닫혀 있나요?
-
#각 {|Each| ... } ⇒ 열거자
FSBucket에서 스트리밍된 청크 데이터를 반복합니다.
-
#file_info ⇒ File::Info
읽고 있는 파일에 대한 파일 컬렉션 파일 정보 문서를 가져옵니다.
-
#initialize(fs, options) ⇒ 읽기
생성자
FSBucket에서 파일을 읽기 위한 스트림을 만듭니다.
-
#읽기 ⇒ string
모든 파일 데이터를 읽습니다.
-
#read_preference ⇒ BSON::Document
읽기 설정을 가져옵니다.
생성자 세부 정보
#initialize(fs, options) ⇒ 읽기
FSBucket에서 파일을 읽기 위한 스트림을 만듭니다.
56 57 58 59 60 61 62 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 56 def 초기화(fs, ) @fs = fs @options = .dup @file_id = @options.삭제(:file_id) @options.동결 @open = true end |
인스턴스 속성 세부 정보
#file_id ⇒ BSON::ObjectId, Object (readonly)
반환값 file_id 읽고 있는 파일 의 ID입니다.
42 43 44 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 42 def file_id @file_id end |
#fs ⇒ FSBucket (읽기 전용)
반환값 fs 이 스트림 이 읽는 fs 버킷입니다.
32 33 34 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 32 def fs @fs end |
#options ⇒ 해시 (읽기 전용)
반환값 옵션 스트림 옵션입니다.
37 38 39 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 37 def @options end |
인스턴스 메서드 세부 정보
#닫기 ⇒ BSON::ObjectId, 객체
읽기 스트림을 닫습니다.
스트림이 이미 닫힌 경우 이 메서드는 아무 작업도 수행하지 않습니다.
125 126 127 128 129 130 131 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 125 def 닫기 만약 @open 보기.close_query @open = 거짓 end file_id end |
#닫았나요? ⇒ true, false
스트림이 닫혀 있나요?
141 142 143 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 141 def 닫힘? !@open end |
#각 {|Each| ... } ⇒ 열거자
FSBucket에서 스트리밍된 청크 데이터를 반복합니다.
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 78 def 각 sure_readable! 정보 = file_info num_chunks = (정보.분량 + 정보.chunk_size - 1) / 정보.chunk_size num_read = 0 만약 block_given? 보기.each_with_index.reduce(0) do |length_read, (doc, index)| 청크 = 그리드::file::청크.신규(doc) 유효성을 검사합니다!(index, num_chunks, 청크, length_read) 데이터 = 청크.데이터.데이터 yield 데이터 num_read += 1 length_read += 데이터.size end.탭 do 만약 num_read < num_chunks 올리다 오류::MissingFileChunk.신규(num_chunks, num_read) end end other 보기.to_enum end end |
#file_info ⇒ File::Info
참고:
파일 정보는 스트림 에 캐시됩니다. 이후에 file_info를 호출하면 첫 번째 호출에서 반환된 것과 동일한 정보가 반환되며 데이터베이스 를 다시 쿼리 하지 않습니다.
읽고 있는 파일에 대한 파일 컬렉션 파일 정보 문서를 가져옵니다.
179 180 181 182 183 184 185 186 187 188 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 179 def file_info @file_info ||= 시작 doc = [:file_info_doc] || fs.파일 컬렉션.찾기(_id: file_id).first 만약 doc file::정보.신규(옵션::매퍼.변환(doc, file::정보::지도 제작.반전)) other nil end end end |
#읽기 ⇒ string
모든 파일 데이터를 읽습니다.
111 112 113 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 111 def 읽기 to_a.가입 end |
#read_preference ⇒ BSON::Document
참고:
이 메서드는 생성자가 :read 유형을 BSON::Document가 아닌 해시로 지정하더라도 항상 BSON::Document 인스턴스를 반환합니다.
읽기 설정을 가져옵니다.
158 159 160 161 162 163 164 165 166 167 |
# 파일 ' 빌드/ Ruby-driver-v2.19/lib/mongo/grid/ 스트림/read.rb', 줄 158 def read_preference @read_preference ||= 시작 pref = [:read] || fs.read_preference 만약 BSON::문서 === pref pref other BSON::문서.신규(pref) end end end |