Clase: Mongo::Grid::File::Chunk
- Hereda:
-
Objeto
- Objeto
- Mongo::Cuadrícula::Archivo::Trozo
- Definido en:
- lib/mongo/grid/archivo/chunk.rb
Overview
Encapsula el comportamiento en torno a fragmentos de datos de archivos GridFS.
Colapso delresumen constante
- COLECCIÓN =
Nombre de la colección de fragmentos.
'chunks'.freeze
- TAMAÑO PREDETERMINADO =
Tamaño predeterminado para fragmentos de datos.
(255 * 1024).freeze
Colapso delresumen de atributos de instancia
-
#document ⇒ BSON::Document
solo lectura
Documento El documento que se almacenará para el fragmento.
Colapso delresumen del método de clase
-
.ensamblar(fragmentos) ⇒ Cadena
privada
Toma una serie de fragmentos y los ensambla nuevamente en la pieza completa de datos sin procesar.
-
.split(io, file_info, offset = 0) ⇒ arreglo<Chunk>
privada
Divida los datos proporcionados en varios fragmentos.
Colapso del resumen del método de instancia
-
#==(otro) ⇒ true, false
Verificar la igualdad de fragmentos.
-
#bson_type ⇒ Integer
Obtener el tipo BSON para un fragmento de documento.
-
#data ⇒ BSON::Binary
Obtener los datos del fragmento.
-
#files_id ⇒ BSON::ObjectId
Obtener el id de los archivos.
-
#id ⇒ BSON::ObjectId
Obtener el identificador del fragmento.
-
#inicializar(documento) ⇒ Fragmento
constructor
Crea el nuevo fragmento.
-
#n ⇒ Integer
Obtener la posición del trozo.
-
#to_bson(buffer = BSON::ByteBuffer.new, validando_claves = nil) ⇒ Cadena
Convierta el fragmento a BSON para su almacenamiento.
Detalles del constructor
#inicializar(documento) ⇒ Fragmento
Crea el nuevo fragmento.
125 126 127 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 125 def inicializar(Documento) @documento = BSON::Documento.Nuevo(:_identificación => BSON::ObjectId.Nuevo).unir(Documento) end |
Detalles de los atributos de instancia
#documento ⇒ BSON::Documento (solo lectura)
Devuelve el documento El documento que se almacenará para el fragmento.
39 40 41 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 39 def Documento @documento end |
Detalles del método de clase
.ensamblar(fragmentos) ⇒ Cadena
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Toma una serie de fragmentos y los ensambla nuevamente en la pieza completa de datos sin procesar.
159 160 161 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 159 def ensamblar(trozos) trozos.reducir(+''){ |datos, fragmento| datos << fragmento.datos.datos } end |
.split(io,información_de_archivo, desplazamiento 0 =) ⇒ Matriz
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Divida los datos proporcionados en varios fragmentos.
176 177 178 179 180 181 182 183 184 185 186 187 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 176 def división(io, file_info, offset = 0) io = StringIO.Nuevo(io) Si io.is_a?(String) partes = Enumerador.Nuevo { |y| y << io.Lea(file_info.tamaño del fragmento) hasta io.¿de? } partes.map.con_índice hacer |bytes, n| file_info.update_md5(bytes) Fragmento.Nuevo( datos: BSON::Binario.Nuevo(bytes), id_de_archivos: file_info.ID., n: n + offset ) end end |
Detalles del método de instancia
#==(otro) ⇒ true, false
Verificar la igualdad de fragmentos.
51 52 53 54 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 51 def ==(otros) return false a no ser que otros.is_a?(Fragmento) Documento == otros.Documento end |
#bson_type ⇒ Integer
Obtener el tipo BSON para un fragmento de documento.
64 65 66 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 64 def bson_type BSON::Picadillo::BSON_TYPE end |
#data ⇒ BSON::Binary
Obtener los datos del fragmento.
76 77 78 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 76 def datos Documento[:datos] end |
#files_id ⇒ BSON::ObjectId
Obtener el id de los archivos.
100 101 102 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 100 def id_de_archivos Documento[:id_de_archivos] end |
#id ⇒ BSON::ObjectId
Obtener el identificador del fragmento.
88 89 90 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 88 def ID. Documento[:_identificación] end |
#n ⇒ Integer
Obtener la posición del trozo.
112 113 114 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 112 def n Documento[:n] end |
#to_bson(buffer = BSON::ByteBuffer.new, validando_claves = nil) ⇒ Cadena
Convierta el fragmento a BSON para su almacenamiento.
141 142 143 |
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 141 def a_bson(buffer = BSON::Búfer de bytes.Nuevo, validando_claves = nulo) Documento.a_bson(buffer) end |