类:Mongo::Grid::File::Chunk
- 继承:
-
对象
- 对象
- Mongo::Grid::File::Chunk
- 定义于:
- lib/ Mongo/grid/ 文件/ 数据块.rb
Overview
封装有关文件数据的GridFS数据段的行为。
常量摘要折叠
- 集合 =
数据段集合的名称。
'数据块'- DEFAULT_SIZE =
数据块的默认大小。
(255 * 1024)
实例属性摘要折叠
-
# document ⇒ BSON::Document
只读
文档要为数据段存储的数据块。
类方法摘要折叠
-
。汇编(数据段) ⇒ string
private
获取数据段数组并将它们重新组合成完整的原始数据。
-
。 分割 (io, file_info, offset = 0 ) ⇒ Array<Chunk>
private
将提供的数据拆分为多个数据段。
实例方法摘要折叠
-
# == (other) ⇒ true, false
检查数据段相等性。
-
#bson_type ⇒ Integer
获取数据数据块文档的BSON类型。
-
# data ⇒ BSON::Binary
数据块数据段。
-
# files_id =" BSON::ObjectId"
获取文件 ID。
-
#id ⇒ BSON::ObjectId
获取数据块ID。
-
#initialize (文档) ⇒ 数据段
构造函数
创建新数据块。
-
# n ⇒ 整数
获取数据段位置。
-
#to_bson(buffer = BSON::ByteBuffer.new, _validating_keys = nil) ⇒ String
将数据数据块转换为BSON以进行存储。
构造函数详情
#initialize (文档) ⇒ 数据段
创建新数据块。
123 124 125 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 123 def 初始化(文档) @document = BSON::文档.new(_id: BSON::ObjectId.new).合并(merge)(文档) end |
实例属性详细信息
# document ⇒ BSON::Document (只读)
返回 document 要为数据段存储的文档。
36 37 38 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 36 def 文档 @document end |
类方法详细信息
。汇编(数据段) ⇒ string
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
获取数据段数组并将它们重新组合成完整的原始数据。
156 157 158 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 156 def 汇编(数据块) 数据块.化简(reduce)(+' ') { |数据, 数据段| 数据 << 数据段.数据.数据 } end |
。 分割 (io, file_info, offset = 0 ) " > Array
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
将提供的数据拆分为多个数据段。
173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 173 def 拆分(io, file_info, 偏移量 = 0) io = StringIO.new(io) if io.is_a?(字符串) 零件 = 枚举器.new { |y| y << io.读(file_info.chunk_size) 直到 io.eof? } 零件.map.with_index do |字节, n| file_info.update_md5(字节) 数据块.new( 数据: BSON::二进制文件.new(字节), files_id: file_info.id, n: n + 偏移量 ) end end |
实例方法详细信息
# == (other) ⇒ true , false
检查数据段相等性。
48 49 50 51 52 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 48 def ==(其他) return false 除非 其他.is_a?(数据块) 文档 == 其他.文档 end |
#bson_type ⇒ Integer
获取数据数据块文档的BSON类型。
62 63 64 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 62 def bson_type BSON::哈希::BSON_TYPE end |
#data ⇒ BSON::Binary
数据块数据段。
74 75 76 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 74 def 数据 文档[:data] end |
# files_id =" BSON::ObjectId "
获取文件 ID。
98 99 100 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 98 def files_id 文档[:files_id] end |
# ID ⇒ BSON::ObjectId
获取数据块ID。
86 87 88 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 86 def id 文档[:_id] end |
# n ⇒整数
获取数据段位置。
110 111 112 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 110 def n 文档[:n] end |
# to_bson (buffer = BSON::ByteBuffer.new,_validating_keys = nil) ⇒ string
将数据数据块转换为BSON以进行存储。
139 140 141 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 139 def to_bson(缓冲 = BSON::ByteBuffer.new, _validating_keys = nil) 文档.to_bson(缓冲) end |