2015-10-04 3 views

ответ

1

Глядя на документы, кажется, что это должно работать:

client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'music') 
client.database.fs.find_one(:filename => 'new-file.txt') #=> Returns a Mongo::Grid::File 

Вот как поток в файл:

client.database.fs.open_download_stream(file_id) do |stream| 
    IO.write('some-file', stream.read) 
end 
+0

Возвращает переменную Mongo :: Grid :: File. Я хочу получить фактический сохраненный файл. До сих пор мне не повезло. –

+0

Что значит «получить» это ...? – Anthony

+0

Сохраните файл. –

0

Следующий код работает:

require 'rubygems' 
require 'mongo' 
include Mongo 

$client = Mongo::Client.new([ '127.0.0.1:27017' ], :database => 'garden') 
Mongo::Logger.logger.level = ::Logger::ERROR 
$files = $client[:files] 

puts 'connected!' 

# Upload file 
fs = $client.database.fs 
$file = File.open("delete.rb") 
$file_id = fs.upload_from_stream("delete.rb", $file) 
$file.close 

$file_to_write = File.open('perfectCopy', 'w') 
fs.download_to_stream($file_id, $file_to_write) 

Mihalis.