Clase: Mongo::Grid::File::Chunk
- Hereda:
-
Objeto
- Objeto
- Mongo::Grid::archivo::fragmento
- 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
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
-
.ensamblar(fragmentos) ⇒ Cadena
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
Obtener el tipo BSON para un fragmento de documento.
-
#data ⇒ BSON::Binary
Obtenga los datos del fragmento.
-
#files_id ⇒ BSON::ObjectId
Obtén los id de los archivos.
-
#id ⇒ BSON::ObjectId
Obtener el identificador del fragmento.
-
#initialize(documento) ⇒ fragmento
constructor
Crea el nuevo fragmento.
-
#n ⇒ Integer
Obtener la posición del fragmento.
-
#to_bson(buffer = BSON::ByteBuffer.new, validating_keys = nil) ⇒ String
Convertir el fragmento a BSON para su almacenamiento.
Detalles del constructor
#initialize(documento) ⇒ fragmento
Crea el nuevo fragmento.
125 126 127 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 125 def inicializar(Documento) @documento = BSON::Documento.Nuevo(:_identificación => BSON::ObjectId.Nuevo).fusionar(Documento) end |
Detalles de los atributos de instancia
#documento ⇒ BSON::Documento (solo lectura)
Devuelve el documento El documento a almacenar para el fragmento.
39 40 41 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 39 def Documento @documento end |
Detalles del método de clase
.assemble(fragmentos) ⇒ String
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 un arreglo de fragmentos y los vuelve a ensamblar en la pieza completa de datos sin procesar.
159 160 161 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 159 def ensamblar(Fragmentos) Fragmentos.disminuir(+''){ |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.
Divide los datos proporcionados en varios fragmentos.
176 177 178 179 180 181 182 183 184 185 186 187 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 176 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.
51 52 53 54 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 51 def ==(Otros) return false a menos 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/fragmento.rb', línea 64 def bson_type BSON::Picadillo::BSON_TYPE end |
#data ⇒ BSON::Binary
Obtenga los datos del fragmento.
76 77 78 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 76 def Datos Documento[:data] end |
#files_id ⇒ BSON::ObjectId
Obtén los id de los archivos.
100 101 102 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 100 def files_id Documento[ID_archivos] end |
#id ⇒ BSON::ObjectId
Obtener el identificador del fragmento.
88 89 90 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 88 def ID Documento[:_identificación] end |
#n ⇒ Integer
Obtener la posición del fragmento.
112 113 114 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 112 def n Documento[:n] end |
#to_bson(bufer = BSON::ByteBuffer.new, validating_keys = nil) ⇒ String
Convertir el fragmento a BSON para su almacenamiento.
141 142 143 |
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 141 def to_bson(buffer = BSON::ByteBuffer.Nuevo, validating_keys = nulo) Documento.to_bson(buffer) end |