Clase: Mongo::Grid::archivo::fragmento

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

Overview

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

Desde:

  • 2.0.0

Resumen de constantes colapsar

colección =

Nombre de la colección de fragmentos.

Desde:

  • 2.0.0

'Fragmentos'
DEFAULT_SIZE =

Tamaño por defecto para fragmentos de datos.

Desde:

  • 2.0.0

(255 * 1024)

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

Cree el nuevo fragmento.

Ejemplos:

Crear el fragmento.

Chunk.new(document)

Parámetros:

  • Documento (BSON::Document)

    El documento del que se crea el fragmento.

Desde:

  • 2.0.0



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

#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



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.

Ejemplos:

Ensambla los fragmentos.

Chunk.assemble(chunks)

Parámetros:

  • Fragmentos (arreglo<Chunk>)

    Los fragmentos.

Devuelve:

  • (string)

    El conjunto de datos.

Desde:

  • 2.0.0



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.

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 files doc.

  • desplazamiento (Integer) (por defecto: 0)

    El offset.

Devuelve:

  • (arreglo<Chunk>)

    Los fragmentos de los datos.

Desde:

  • 2.0.0



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.

Ejemplos:

Comprobar la igualdad de los fragmentos.

chunk == other

Parámetros:

  • Otros (objeto)

    El objeto para comparar.

Devuelve:

  • (true, false)

    Si los objetos son iguales.

Desde:

  • 2.0.0



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_typeInteger

Obtenga el tipo BSON para un documento de fragmento.

Ejemplos:

Obtén el tipo BSON.

chunk.bson_type

Devuelve:

  • (Número entero)

    El tipo BSON.

Desde:

  • 2.0.0



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

def bson_type
  BSON::encriptada::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



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

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)

    Los archivos ID.

Desde:

  • 2.0.0



98
99
100
# Archivo 'lib/mongo/grid/file/fragmento.rb', línea 98

def files_id
  Documento[ID_archivos]
end

#idBSON::ObjectId

Obtén el id de fragmento.

Ejemplos:

Obtén el id de fragmento.

chunk.id

Devuelve:

  • (BSON::ObjectId)

    El id del fragmento.

Desde:

  • 2.0.0



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

def ID
  Documento[::_id]
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



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.

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 (true, false)

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

Devuelve:

  • (string)

    Los datos BSON sin procesar.

Desde:

  • 2.0.0



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