클래스: Mongo::Grid::File::Chunk
- 상속:
-
객체
- 객체
- Mongo::Grid::File::Chunk
- 다음에 정의됨:
- build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb
개요
파일 데이터의 GridFS 청크에 대한 동작을 캡슐화합니다.
상수 요약 접기
- COLLECTION =
청크 컬렉션 의 이름입니다.
'chunks'.동결
- DEFAULT_SIZE =
데이터 청크의 기본 크기입니다.
(255 * 1024).동결
인스턴스 속성 요약 접기
-
#문서 ⇒ BSON::Document
읽기 전용
Document 청크 에 대해 저장 문서 입니다.
클래스 메서드 요약 접기
-
.어셈블(청크) ⇒ string
비공개
청크 배열을 가져와서 전체 원시 데이터 조각으로 다시 조립합니다.
-
.분할(io, file_info, offset = 0) ⇒ Array<Chunk>
비공개
제공된 데이터를 여러 청크로 분할합니다.
인스턴스 메서드 요약 접기
-
#==(기타) ⇒ true, false
청크 동등성을 확인합니다.
-
#bson_type ⇒ Integer
청크 문서 의 BSON type을 가져옵니다.
-
#데이터 ⇒ BSON::Binary
청크 데이터를 가져옵니다.
-
# 파일 ID ⇒BSON ::ObjectId
파일 ID를 가져옵니다.
-
#id ⇒ BSON::ObjectId
청크 ID를 가져옵니다.
-
#initialize(문서) ⇒ 청크
생성자
새 청크 를 만듭니다.
-
#n ⇒ 정수
청크 위치를 가져옵니다.
-
#to_bson(buffer = BSON::ByteBuffer.new, validation_keys = nil) ⇒ string
저장을 위해 청크를 BSON으로 변환합니다.
생성자 세부 정보
#initialize(문서) ⇒ 청크
새 청크 를 만듭니다.
125 126 127 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 125 def 초기화(문서) @document = BSON::문서.신규(:_id => BSON::ObjectId.신규).merge(문서) end |
인스턴스 속성 세부 정보
#문서 ⇒ BSON::Document (읽기 전용)
청크에 대해 저장할 문서를 반환합니다.
39 40 41 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 39 def 문서 @document end |
클래스 메서드 세부 정보
.어셈블(청크) ⇒ string
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
청크 배열을 가져와서 전체 원시 데이터 조각으로 다시 조립합니다.
159 160 161 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 159 def 조립(청크) 청크.reduce(+''){ |데이터, 청크| 데이터 << 청크.데이터.데이터 } end |
.분할(io, file_info, offset = 0) ⇒ Array<Chunk>
이 메서드는 비공개 API의 일부입니다. 이 방법은 향후 제거되거나 변경될 수 있으므로 가능하면 사용하지 않는 것이 좋습니다.
제공된 데이터를 여러 청크로 분할합니다.
176 177 178 179 180 181 182 183 184 185 186 187 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 176 def split(io, file_info, 오프셋 = 0) io = StringIO.신규(io) 만약 io.is_a?(문자열) 부품 = 열거자.신규 { |y| y << io.읽기(file_info.chunk_size) 까지 io.eof? } 부품.map.with_index do |바이트, n| file_info.update_md5(바이트) 청크.신규( 데이터: BSON::바이너리.신규(바이트), 파일 ID: file_info.id, n: n + 오프셋 ) end end |
인스턴스 메서드 세부 정보
#==(기타) ⇒ true, false
청크 동등성을 확인합니다.
51 52 53 54 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 51 def ==(기타) 반환 거짓 하지 않는 한 기타.is_a?(청크) 문서 == 기타.문서 end |
#bson_type ⇒ Integer
청크 문서 의 BSON type을 가져옵니다.
64 65 66 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 64 def bson_type BSON::해시::BSON_TYPE end |
#data ⇒ BSON::Binary
청크 데이터를 가져옵니다.
76 77 78 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 76 def 데이터 문서[:data] end |
# 파일 ID ⇒BSON ::ObjectId
파일 ID를 가져옵니다.
100 101 102 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 100 def 파일 ID 문서[:files_id] end |
#ID ⇒ BSON::ObjectId
청크 ID를 가져옵니다.
88 89 90 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 88 def id 문서[:_id] end |
#n ⇒ 정수
청크 위치를 가져옵니다.
112 113 114 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 112 def n 문서[:n] end |
#to_bson(buffer = BSON::ByteBuffer.new, validation_keys = nil) ⇒ string
저장을 위해 청크를 BSON으로 변환합니다.
141 142 143 |
# 파일 'build/ruby-driver-v2.19/lib/mongo/grid/file/chunk.rb', 줄 141 def to_bson(buffer = BSON::ByteBuffer.신규, validation_keys = nil) 문서.to_bson(buffer) end |