Clase: Mongo::Grid::archivo::fragmento
- Hereda:
-
Objeto
- Objeto
- Mongo::Grid::archivo::fragmento
- Definido en:
- lib/mongo/grid/archivo/fragmento.rb
Overview
Encapsula el comportamiento en torno a los fragmentos de datos de archivos de GridFS.
Resumen de constantes colapsar
- colección =
Nombre de la colección de fragmentos.
'Fragmentos'- DEFAULT_SIZE =
Tamaño por defecto para fragmentos de datos.
(255 * 1024)
Resumen de atributos de la instancia colapsar
-
#document ⇒ BSON::Document
Solo lectura
Documento El documento que se va a almacenar para el fragmento.
Resumen del método de clase colapsar
-
.assemble(fragmentos) ⇒ String
privado
Toma un arreglo de fragmentos y los vuelve a ensamblar en la pieza completa de datos sin procesar.
-
.split(io, file_info, offset = 0) ⇒ arreglo<Chunk>
privado
Divide los datos proporcionados en varios fragmentos.
Resumen del método de instancia colapsar
-
#==(otro) ⇒ true, false
Comprobar la igualdad de los fragmentos.
-
#bson_type ⇒ Integer
Obtenga el tipo BSON para un documento de fragmento.
-
#data ⇒ BSON::Binary
Obtenga los datos del fragmento.
-
#files_id ⇒ BSON::ObjectId
Obtén los id de los archivos.
-
#id ⇒ BSON::ObjectId
Obtén el id de fragmento.
-
#initialize(documento) ⇒ fragmento
constructor
Cree el nuevo fragmento.
-
#n ⇒ Integer
Obtener la posición del fragmento.
-
#to_bson(buffer = BSON::ByteBuffer.new, _validating_keys = nil) ⇒ String
Convierte el fragmento a BSON para su almacenamiento.
Detalles del Constructor
#initialize(documento) ⇒ fragmento
Cree el nuevo fragmento.
123 124 125 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 123 def inicializar(Documento) @document = BSON::Documento.Nuevo(_id: BSON::ObjectId.Nuevo).fusionar(Documento) end |
Detalles de atributo de instancias
#documento ⇒ BSON::Documento (solo lectura)
Devuelve el documento El documento a almacenar para el fragmento.
36 37 38 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 36 def Documento @document end |
Detalles del método de clase
.assemble(fragmentos) ⇒ String
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Toma un arreglo de fragmentos y los vuelve a ensamblar en la pieza completa de datos sin procesar.
156 157 158 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 156 def ensamblar(Fragmentos) Fragmentos.disminuir(+'') { |Datos, fragmento| Datos << fragmento.Datos.Datos } end |
.split(io, file_info, offset = 0) ⇒ Array<fragmento>
Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.
Divide los datos proporcionados en varios fragmentos.
173 174 175 176 177 178 179 180 181 182 183 184 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 173 def división(io, file_info, desplazamiento = 0) io = StringIO.Nuevo(io) si io.is_a?(String) piezas = Enumerador.Nuevo { |y| y << io.Lea(file_info.chunk_size) hasta io.eof? } piezas.map.con_índice hacer |bytes, n| file_info.update_md5(bytes) fragmento.Nuevo( datos: BSON::Binario.Nuevo(bytes), files_id: file_info.ID, n: n + desplazamiento ) end end |
Detalles del método de instancia
#==(otro) ⇒ true, false
Comprobar la igualdad de los fragmentos.
48 49 50 51 52 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 48 def ==(Otros) return false a menos que Otros.is_a?(fragmento) Documento == Otros.Documento end |
#bson_type ⇒ Integer
Obtenga el tipo BSON para un documento de fragmento.
62 63 64 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 62 def bson_type BSON::encriptada::BSON_TYPE end |
#data ⇒ BSON::Binary
Obtenga los datos del fragmento.
74 75 76 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 74 def Datos Documento[:data] end |
#files_id ⇒ BSON::ObjectId
Obtén los id de los archivos.
98 99 100 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 98 def files_id Documento[ID_archivos] end |
#id ⇒ BSON::ObjectId
Obtén el id de fragmento.
86 87 88 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 86 def ID Documento[::_id] end |
#n ⇒ Integer
Obtener la posición del fragmento.
110 111 112 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 110 def n Documento[:n] end |
#to_bson(buffer = BSON::ByteBuffer.new, _validating_keys = nil) ⇒ String
Convierte el fragmento a BSON para su almacenamiento.
139 140 141 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 139 def to_bson(buffer = BSON::ByteBuffer.Nuevo, _validating_keys = nulo) Documento.to_bson(buffer) end |