类:Mongo::Grid::File::Chunk
- 继承:
-
对象
- 对象
- Mongo::Grid::File::Chunk
- 定义于:
- lib/ Mongo/grid/ 文件/ 数据块.rb
Overview
封装有关文件数据的GridFS数据段的行为。
常量摘要折叠
- 集合 =
数据段集合的名称。
' chunks '.冻结
- 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 (文档) ⇒ 数据段
创建新数据块。
125 126 127 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 125 def 初始化(文档) @document = BSON::文档.new(:_id => BSON::ObjectId.new).合并(merge)(文档) end |
实例属性详细信息
# document ⇒ BSON::Document (只读)
返回 document 要为数据段存储的文档。
39 40 41 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 39 def 文档 @document end |
类方法详细信息
。汇编(数据段) ⇒ string
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
获取数据段数组并将它们重新组合成完整的原始数据。
159 160 161 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 159 def 汇编(数据块) 数据块.化简(reduce)(+' '){ |数据, 数据段| 数据 << 数据段.数据.数据 } end |
。 分割 (io, file_info, offset = 0 ) " > Array
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
将提供的数据拆分为多个数据段。
176 177 178 179 180 181 182 183 184 185 186 187 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 176 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
检查数据段相等性。
51 52 53 54 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 51 def ==(其他) return false 除非 其他.is_a?(数据块) 文档 == 其他.文档 end |
#bson_type ⇒ Integer
获取数据数据块文档的BSON类型。
64 65 66 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 64 def bson_type BSON::哈希::BSON_TYPE end |
#data ⇒ BSON::Binary
数据块数据段。
76 77 78 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 76 def 数据 文档[:data] end |
# files_id =" BSON::ObjectId "
获取文件 ID。
100 101 102 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 100 def files_id 文档[:files_id] end |
# ID ⇒ BSON::ObjectId
获取数据块ID。
88 89 90 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 88 def id 文档[:_id] end |
# n ⇒整数
获取数据段位置。
112 113 114 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 112 def n 文档[:n] end |
# to_bson (buffer = BSON::ByteBuffer.new, validating_keys = nil) ⇒ string
将数据段转换为 BSON 以进行存储。
141 142 143 |
# File 'lib/ Mongo/grid/ 文件/ 数据块.rb', line 141 def to_bson(缓冲 = BSON::ByteBuffer.new, validating_keys = nil) 文档.to_bson(缓冲) end |