Classificação: Mongo::Grid::FSBucket::Stream::Write
- Herda:
-
Objeto
- Objeto
- Mongo::Grid::FSBucket::Stream::Write
- Definido em:
- build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb
Visão geral
Um fluxo que escreve arquivos no FSBucket.
Recolhimento do Resumo do atributo de instância
-
#file_id ➤ Objeto
Somente leitura
File_id A ID do arquivo que está sendo carregado.
-
#filename ➤ string
Somente leitura
Nome do arquivo O nome do arquivo que está sendo carregado.
-
#fs ⇒ FSBucket
Somente leitura
Fs O bucket fs no qual esse stream é gravado.
-
#opções ➤ Hash
Somente leitura
Opções As opções de fluxo de gravação.
Recolhimento do Resumo do método de instância
-
#abort ➤ true
Aborte o upload excluindo todos os chunks já inseridos.
-
#close ➤ BSON::ObjectId, Object
Feche o fluxo de gravação.
-
#fechado? ➤ verdadeiro, falso
O stream está fechado.
-
#initialize(fs, options) ➤ Escrever
construtor
Crie um fluxo para escrever arquivos no FSBucket.
-
#write(io) ➤ Stream::Write
Grave no bucket GridFS a partir do fluxo de origem ou de uma string.
-
#write_concern ➤ Mongo::WriteConcern
Obtenha o preocupação de gravação usado ao fazer o upload.
Detalhes do construtor
#initialize(fs, options) ➤ Escrever
Crie um fluxo para escrever arquivos no FSBucket.
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 70 def inicializar(fs, ) @fs = fs @ comprimento = 0 @n = 0 @file_id = [:file_id] || BSON::ObjectId.Novo @opções = .dup =begin Suporte ao objeto WriteConcern se @options[:write_concern].is_a?(WriteConcern::Base) # Armazene a instância em cache para que não a reconstruamos desnecessariamente. @write_concern = @options[:write_concern] @options[:write_concern] = @write_concern.options end =end @opções.congelar @filename = @opções[:filename] @open = true end |
Detalhes do atributo da instância
#file_id ➤ Objeto (somente leitura)
Retorna file_id A ID do arquivo que está sendo carregado.
36 37 38 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 36 def file_id @file_id end |
#filename ➤ string (somente leitura)
Retorna o nome do arquivo O nome do arquivo que está sendo carregado.
41 42 43 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 41 def Nome do Arquivo @filename end |
#fs ➤ FSBucket (somente leitura)
Retorna fs O bucket fs no qual esse stream é gravado.
31 32 33 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 31 def fs @fs end |
#opções ➤ Hash (somente leitura)
Retorna opções As opções de fluxo de gravação.
46 47 48 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 46 def @opções end |
Detalhes do método de instância
#abort ➤ true
Aborte o upload excluindo todos os chunks já inseridos.
168 169 170 171 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 168 def abortar fs.chunks_collection.find({ :files_id => file_id }, @opções).delete_many (@open = false) || true end |
#close ➤ BSON::ObjectId, Object
Feche o fluxo de gravação.
124 125 126 127 128 129 130 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 124 def Fechar ensure_open! update_ comprimento file_collection.insert_one(file_info, @opções) @open = false file_id end |
#fechado? ➤ true, false
O stream está fechado.
156 157 158 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 156 def fechado? !@open end |
#write(io) ➤ Stream::Write
Grave no bucket GridFS a partir do fluxo de origem ou de uma string.
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 98 def escrever(io) ensure_open! @indexes ||= ensure_indexes! @ comprimento += se io.respond_to?(:bytesize) # Objetos de string io.bytesize mais # Objetos IO io.Tamanho end Partes = arquivo::parte.dividir(io, file_info, @n) @n += Partes.Tamanho chunks_collection.insert_many(Partes) a menos que Partes.vazio? auto end |
#write_concern ➤ Mongo::WriteConcern
Obtenha o preocupação de gravação usado ao fazer o upload.
140 141 142 143 144 145 146 |
# File 'build/ruby-driver-v2.19/lib/mongo/grid/stream/write.rb', linha 140 def write_concern @write_concern ||= se wco = @opções[:write_concern] || @opções[:write] Escreva preocupação.obter(wco) mais fs.write_concern end end |