Я хочу сохранить небольшой pdf-файл в базе данных mongodb. Я использую Ruby (2.0.0), Padrino (0.12.5) и MongoId (3.0.0), MongoDB (2.6). Поскольку мой размер файла составляет около 1 МБ, мне не понадобится сложность GridFS.Сохраните pdf-файл в mongodb с mongoid без GridFS
Я новичок в MongoDB и ожидал, что небольшие файлы можно легко сохранить, не беспокоясь о путях и файловой системе.
class Client
include Mongoid::Document
include Mongoid::Timestamps # adds created_at and updated_at fields
field :last_name, :type => String
field :cv_pdf, :type => Moped::BSON::Binary
end
Если я использую тестовый файл в консоли я получаю ошибку, когда я хочу, чтобы сохранить файл в формате PDF в БД:
2.0.0-p353 :015 > c = Client.first
=> #<Client _id: 55883b5168874459df000001, _type: nil, created_at: 2015-06-22 16:44:01 UTC,
updated_at: 2015-06-23 06:45:57 UTC, last_name: "Foo", cv_pdf: "">
2.0.0-p353 :016 > f = File.open("test1.pdf")
=> #<File:test1.pdf>
2.0.0-p353 :017 > c.cv_pdf = f
=> #<File:test1.pdf>
2.0.0-p353 :019 > c.save
NoMethodError: undefined method `__bson_dump__' for #<File:test1.pdf>
[...]
Вопрос конкретно говорит «без GridFS». –
Извините, я прочитал это неправильно. – ifyouseewendy