Clase: Mongo::Grid::File::Chunk

Hereda:
Objeto
  • Objeto
Mostrar todo
Definido en:
lib/mongo/grid/archivo/chunk.rb

Overview

Encapsula el comportamiento en torno a fragmentos de datos de archivos GridFS.

Desde:

  • 2.0.0

Colapso delresumen constante

COLECCIÓN =

Nombre de la colección de fragmentos.

Desde:

  • 2.0.0

'chunks'.freeze
TAMAÑO PREDETERMINADO =

Tamaño predeterminado para fragmentos de datos.

Desde:

  • 2.0.0

(255 * 1024).freeze

Colapso delresumen de atributos de instancia

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

Detalles del constructor

#inicializar(documento) ⇒ Fragmento

Crea el nuevo fragmento.

Ejemplos:

Crea el fragmento.

Chunk.new(document)

Parámetros:

  • Documento (BSON::Documento)

    El documento desde el cual se creará el fragmento.

Desde:

  • 2.0.0



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

#documentoBSON::Documento (solo lectura)

Devuelve el documento El documento que se almacenará para el fragmento.

Devuelve:

  • (BSON::Documento)

    documento El documento que se almacenará para el fragmento.

Desde:

  • 2.0.0



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.

Ejemplos:

Ensamblar los trozos.

Chunk.assemble(chunks)

Parámetros:

  • trozos ( Matriz ) —

    Los trozos.

Devuelve:

  • (Cadena) -

    Los datos recopilados.

Desde:

  • 2.0.0



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.

Ejemplos:

Separa los datos en fragmentos.

Chunks.split(data)

Parámetros:

  • io (Cadena,IO)

    Los bytes sin procesar.

  • file_info (File::Info)

    El archivo de colección de archivos doc.

  • offset (Entero) 0(predeterminado:)

    El desplazamiento.

Devuelve:

  • ( Matriz ) —

    Los trozos de datos.

Desde:

  • 2.0.0



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.

Ejemplos:

Verificar la igualdad de fragmentos.

chunk == other

Parámetros:

  • otros (Objeto) -

    El objeto con el que comparar.

Devuelve:

  • (verdadero,falso)

    Si los objetos son iguales.

Desde:

  • 2.0.0



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_typeInteger

Obtener el tipo BSON para un fragmento de documento.

Ejemplos:

Obtenga el tipo BSON.

chunk.bson_type

Devuelve:

  • (Entero)

    El tipo BSON.

Desde:

  • 2.0.0



64
65
66
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 64

def bson_type
  BSON::Picadillo::BSON_TYPE
end

#dataBSON::Binary

Obtener los datos del fragmento.

Ejemplos:

Obtener los datos del fragmento.

chunk.data

Devuelve:

  • (BSON::Binario)

    Los datos del fragmento.

Desde:

  • 2.0.0



76
77
78
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 76

def datos
  Documento[:datos]
end

#files_idBSON::ObjectId

Obtener el id de los archivos.

Ejemplos:

Obtener el id de los archivos.

chunk.files_id

Devuelve:

  • (BSON::ObjectId)

    El id del archivo.

Desde:

  • 2.0.0



100
101
102
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 100

def id_de_archivos
  Documento[:id_de_archivos]
end

#idBSON::ObjectId

Obtener el identificador del fragmento.

Ejemplos:

Obtener el identificador del fragmento.

chunk.id

Devuelve:

  • (BSON::ObjectId)

    El identificador del fragmento.

Desde:

  • 2.0.0



88
89
90
# Archivo 'lib/mongo/grid/file/chunk.rb', línea 88

def ID.
  Documento[:_identificación]
end

#nInteger

Obtener la posición del trozo.

Ejemplos:

Obtener la posición del trozo.

chunk.n

Devuelve:

  • (Entero)

    La posición del trozo.

Desde:

  • 2.0.0



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.

Ejemplos:

Convierte el fragmento a BSON.

chunk.to_bson

Parámetros:

  • buffer (BSON::Búfer de bytes) (predeterminado: BSON::ByteBuffer.new)

    El búfer BSON codificado al que se agregará.

  • validando_claves (verdadero,falso) (predeterminado: nulo)

    Si las claves deben validarse al serializar. Esta opción está obsoleta y no se utilizará. Se eliminará en la versión 3.0.

Devuelve:

  • (Cadena) -

    Los datos BSON sin procesar.

Desde:

  • 2.0.0



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