类:Mongo::Grid::FSBucket::Stream::Write
- 继承:
-
对象
- 对象
- Mongo::Grid::FSBucket::Stream::Write
- 定义于:
- 构建/ruby-driver-v2.19/lib/ mongo /grid/ 流/ 写入.rb
Overview
将文件写入 FSBucket 的流。
实例属性摘要折叠
-
# file_id ⇒ 对象
只读
File_id 正在上传的文件的 ID。
-
# filename ⇒ string
只读
文件名 正在上传的文件的名称。
-
#fs ⇒ FSBucket
只读
Fs 此流写入的 fs 存储桶。
-
# options ⇒ 哈希
只读
选项写入流选项。
实例方法摘要折叠
-
# abort ⇒ true
删除所有已插入的数据段,中止上传。
-
# close ⇒ BSON::ObjectId, Object
关闭写入流。
-
#已关闭? ⇒ true, false
流是否已关闭。
-
#initialize (fs, options) ⇒ 写入
构造函数
创建用于将文件写入 FSBucket 的流。
-
# write (io) ⇒ Stream::Write
从流或string写入GridFS存储桶。
-
# write_concern ⇒ Mongo::WriteConcern
获取上传时使用的写关注(write concern)。
构造函数详情
#initialize (fs, options) ⇒写入
创建用于将文件写入 FSBucket 的流。
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第70行 def 初始化(fs, ) @fs = fs @length = 0 @n = 0 @file_id = [:file_id] || BSON::ObjectId.new @options = .dup =begin WriteConcern 对象支持 if @options[:write_concern].is_a?(WriteConcern::Base) # 缓存实例,以便我们不会不必要地重建它。 @write_concern = @options[:write_concern] @options[:write_concern] = @write_concern.options end =end @options.冻结 @filename = @options[:filename] @open = true end |
实例属性详细信息
# file_id ⇒对象(只读)
返回 file_id 正在上传的文件的 ID。
36 37 38 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第36行 def file_id @file_id end |
# filename ⇒ string (readonly)
返回 filename 正在上传的文件的名称。
41 42 43 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第41行 def 文件名 @filename end |
# fs ⇒ FSBucket (只读)
返回 fs 该流写入的 fs 存储桶。
31 32 33 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第31行 def fs @fs end |
# options ⇒哈希(只读)
返回 options 写入流选项。
46 47 48 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第46行 def @options end |
实例方法详细信息
# abort ⇒ true
删除所有已插入的数据段,中止上传。
168 169 170 171 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第168行 def 中止 fs.chunks_collection.find({ :files_id => file_id }, @options).delete_many (@open = false) || true end |
# close ⇒ BSON::ObjectId , Object
关闭写入流。
124 125 126 127 128 129 130 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第124行 def 关闭 确保_open! update_length files_collection.insert_one(file_info, @options) @open = false file_id end |
#已关闭? ⇒ true , false
流是否已关闭。
156 157 158 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第156行 def 已关闭? !@open end |
# write (io) ⇒ Stream::Write
从流或string写入GridFS存储桶。
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第98行 def 写(io) 确保_open! @indexes ||= ensure_indexes! @length += if io.respond_to?(:bytesize) # string对象 io.bytesize else # IO 对象 io.size end 数据块 = file::数据块.拆分(io, file_info, @n) @n += 数据块.size chunks_collection.insert_many(数据块) 除非 数据块.空? self end |
# write_concern ⇒ Mongo::WriteConcern
获取上传时使用的写关注(write concern)。
140 141 142 143 144 145 146 |
# File 'build/Ruby-driver-v 2.19 /lib/mongo/grid/stream/write.rb', 第140行 def write_concern @write_concern ||= if wco = @options[:write_concern] || @options[:write] writeConcern.获取(wco) else fs.write_concern end end |