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

Resumen de atributos de la instancia colapsar

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Detalles del constructor

#initialize(documento) ⇒ fragmento

Crea el nuevo fragmento.

Ejemplos:

Crea el fragmento.

Chunk.new(document)

Parámetros:

  • Documento (BSON::Document)

    El documento del que se crea el fragmento.

Desde:

  • 2.0.0



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

#documentoBSON::Documento (solo lectura)

Devuelve el documento El documento a almacenar para el fragmento.

Devuelve:

  • (BSON::Document)

    document El documento que se va a almacenar para el fragmento.

Desde:

  • 2.0.0



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.

Ejemplos:

Ensambla los fragmentos.

Chunk.assemble(chunks)

Parámetros:

  • Fragmentos (arreglo<Chunk>)

    Los trozos.

Devuelve:

  • (string)

    El conjunto de datos.

Desde:

  • 2.0.0



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.

Ejemplos:

Separa los datos en fragmentos.

Chunks.split(data)

Parámetros:

  • io (String, IO)

    Los bytes sin procesar.

  • file_info (File::Info)

    El archivo de colección de archivos doc.

  • desplazamiento (Entero) (por defecto: 0)

    El offset.

Devuelve:

  • (arreglo<Chunk>)

    Los fragmentos de los datos.

Desde:

  • 2.0.0



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.

Ejemplos:

Comprobar la igualdad de los fragmentos.

chunk == other

Parámetros:

  • Otros (objeto)

    El objeto para comparar.

Devuelve:

  • (verdadero,falso)

    Si los objetos son iguales.

Desde:

  • 2.0.0



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_typeInteger

Obtener el tipo BSON para un fragmento de documento.

Ejemplos:

Obtenga el tipo BSON.

chunk.bson_type

Devuelve:

  • (Número entero)

    El tipo BSON.

Desde:

  • 2.0.0



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

def bson_type
  BSON::Picadillo::BSON_TYPE
end

#dataBSON::Binary

Obtenga los datos del fragmento.

Ejemplos:

Obtenga los datos del fragmento.

chunk.data

Devuelve:

  • (BSON::Binary)

    Los datos del fragmento.

Desde:

  • 2.0.0



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

def Datos
  Documento[:data]
end

#files_idBSON::ObjectId

Obtén los id de los archivos.

Ejemplos:

Obtén los 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/fragmento.rb', línea 100

def files_id
  Documento[ID_archivos]
end

#idBSON::ObjectId

Obtener el identificador del fragmento.

Ejemplos:

Obtener el identificador del fragmento.

chunk.id

Devuelve:

  • (BSON::ObjectId)

    El id del fragmento.

Desde:

  • 2.0.0



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

def ID
  Documento[:_identificación]
end

#nInteger

Obtener la posición del fragmento.

Ejemplos:

Obtener la posición del fragmento.

chunk.n

Devuelve:

  • (Número entero)

    La posición del fragmento.

Desde:

  • 2.0.0



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.

Ejemplos:

Convierte el fragmento en BSON.

chunk.to_bson

Parámetros:

  • buffer (BSON::ByteBuffer) (por defecto: BSON::ByteBuffer.new)

    El buffer BSON codificado para adjuntar.

  • validating_keys (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:

  • (string)

    Los datos BSON sin procesar.

Desde:

  • 2.0.0



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