类:Mongo::Grid::File::Info已弃用

继承:
对象
  • 对象
显示全部
定义于:
build/Ruby-driver-v 2.19 /lib/mongo/grid/file/info.rb

Overview

已弃用。

请改用 FSBucket 上的“流” API 。 将在驾驶员版本3.0中删除。

封装GridFS文件集合文件文档的行为。

由于:

  • 2.0.0

常量摘要折叠

集合 =

文件集合的名称。

由于:

  • 2.0.0

' files '.冻结
MAPPINGS =

用户提供的字段到数据库规范的映射。

由于:

  • 2.0.0

{
  :chunk_size => :chunkSize,
  :content_type => :contentType,
  :filename => :filename,
  :_id => :_id,
  :md 5 => :md 5,
  :length => :length,
  :metadata => :metadata,
  :upload_date => :uploadDate,
  :aliases => :aliases
}.冻结
DEFAULT_CONTENT_TYPE =

存储文件的默认内容类型。

由于:

  • 2.0.0

' binary/octet-stream '.冻结

实例属性摘要折叠

实例方法摘要折叠

构造函数详情

#初始化(文档) ⇒信息

创建新的文件信息文档。

例子:

创建新的文件信息文档。

Info.new(:filename => 'test.txt')

参数:

  • 文档 ( BSON::Document )

    要创建的文档。

由于:

  • 2.0.0



139
140
141
142
143
144
145
146
147
148
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第139行

def 初始化(文档)
  @client_md 5 = 摘要::MD5.new 除非 文档[:disable_md 5] == true
  #文档包含用户选项和添加的密钥的组合
  # 驱动程序在内部执行,如 session。
  # 删除驾驶员添加的密钥,但保留用户选项。
  文档 = 文档.拒绝 do |key, |
    key.to_s == 'session'
  end
  @document = default_document.合并(merge)(选项::映射器.转换(Transform)(文档, mappings))
end

实例属性详细信息

# documentBSON::Document (只读)

返回文档文件集合文档。

返回:

  • ( BSON::Document )

    document 文件集合文档。

由于:

  • 2.0.0



56
57
58
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第56行

def 文档
  @document
end

实例方法详细信息

# == (other) ⇒ true , false

此文件信息文档是否与另一个相同?

例子:

检查文件信息文档相等性。

file_info == other

参数:

  • 其他 ( Object )

    要检查的对象。

返回:

  • ( true , false )

    如果对象相等。

由于:

  • 2.0.0



68
69
70
71
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第68行

def ==(其他)
  return false 除非 其他.is_a?(信息)
  文档 == 其他.文档
end

#bson_typeInteger

获取文件信息文档的 BSON 类型。

例子:

获取 BSON 类型。

file_info.bson_type

返回:

  • ( Integer )

    BSON类型。

由于:

  • 2.0.0



81
82
83
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第81行

def bson_type
  BSON::哈希::BSON_TYPE
end

# chunk_size整数

获取文件数据块大小。

例子:

获取数据块大小。

file_info.chunk_size

返回:

  • ( Integer )

    数据段大小(以字节为单位)。

由于:

  • 2.0.0



93
94
95
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第93行

def chunk_size
  文档[:chunkSize]
end

# content_typestring

获取文件信息内容类型。

例子:

获取内容类型。

file_info.content_type

返回:

  • ( string )

    内容类型。

由于:

  • 2.0.0



105
106
107
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第105行

def content_type
  文档[:contentType]
end

# filenamestring

从文件信息中获取文件名。

例子:

获取文件名。

file_info.filename

返回:

  • ( string )

    文件名。

由于:

  • 2.0.0



115
116
117
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第115行

def 文件名
  文档[:filename]
end

# IDBSON::ObjectId

从文件信息中获取文件 ID。

例子:

获取文件ID。

file_info.id

返回:

  • ( BSON::ObjectId )

    文件 ID。

由于:

  • 2.0.0



127
128
129
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第127行

def id
  文档[:_id]
end

#检查string

获取对象的可读检查。

例子:

检查文件信息。

file_info.inspect

返回:

  • ( string )

    很好的检查。

由于:

  • 2.0.0



158
159
160
161
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第158行

def 检查
  " #<Mongo::Grid::File::Info: 0 x #{ object_id } chunk_size= #{ chunk_size } " +
    "filename=#{filename} content_type=#{content_type} id=#{id} md5=#{md5}>"
end

# lengthInteger也称为:大小

获取文档的长度(以字节为单位)。

例子:

从文件信息文档中获取文件长度。

file_info.length

返回:

  • ( Integer )

    文件长度。

由于:

  • 2.0.0



171
172
173
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第171行

def 长度
  文档[:length]
end

# md5string

已弃用。

自2.6.0开始

获取 md 5哈希值。

例子:

获取 md 5哈希值。

file_info.md5

返回:

  • ( string )

    string形式的 md5 哈希值。

由于:

  • 2.0.0



198
199
200
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第198行

def MD5
  文档[:md 5] || @client_md 5
end

#metadataString

从文件信息文档中获取其他元数据。

例子:

获取其他元数据。

file_info.

返回:

  • ( string )

    文件信息文档中的附加元数据。

由于:

  • 2.0.0



184
185
186
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第184行

def 
  文档[:metadata]
end

# to_bson (buffer = BSON::ByteBuffer.new, validating_keys = nil) ⇒ string

注意:

如果文件信息文档中不存在 md 5 (它是从服务器加载的,并且不是新文件),则我们会消化 md 5并设立它。

将文件信息文档转换为BSON进行存储。

例子:

将文件信息文档转换为BSON。

file_info.to_bson

参数:

  • 缓冲 ( BSON::ByteBuffer ) (默认为: BSON::ByteBuffer.new

    要附加到的已编码BSON缓冲区。

  • validating_keys ( true , false ) (默认为: nil

    序列化时是否应验证密钥。 此选项已弃用,不会使用。 它将在3.0版本中删除。

返回:

  • ( string )

    原始 BSON 数据。

由于:

  • 2.0.0



236
237
238
239
240
241
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第236行

def to_bson(缓冲 = BSON::ByteBuffer.new, validating_keys = nil)
  if @client_md 5 && !文档[:md 5]
    文档[:md 5] = @client_md 5.hexdigest
  end
  文档.to_bson(缓冲)
end

#update_md5(bytes) ⇒ Digest::MD5

已弃用。

自2.6.0开始

注意:

此方法是过渡性的,旨在实现向后兼容。

更新 md 5哈希值(如果有)。

当 md 5支持被完全弃用时,它将被删除。

例子:

更新 md 5哈希值。

file_info.update_md5(bytes)

参数:

  • 字节 ( string )

    用于更新摘要的字节。

返回:

  • ( Digest::MD 5 )

    md 5哈希对象。

由于:

  • 2.6.0



217
218
219
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第217行

def update_md5(字节)
  MD5.update(字节) if MD5
end

#upload_date时间

获取上传日期。

例子:

获取上传日期。

file_info.upload_date

返回:

  • 时间

    上传日期。

由于:

  • 2.0.0



251
252
253
# File ' 构建/ruby-driver-v2.19/lib/ mongo /grid/ 文件/info.rb', 第251行

def upload_date
  文档[:uploadDate]
end