Я хочу загрузить небольшие файлы размером менее 16 МБ в MongoDB через тип BinData, который я узнал, является единственным вариантом по умолчанию для файлов меньшего размера, тогда как GRIDFS идеально подходит для файлов, размер которых превышает 16 МБ.
К сожалению, мне нелегко получить надлежащую документацию и примеры загрузки файлов без GridFS в документации MongoDB. Информация, которую я нашел о типе BinData, либо весьма ограничена, либо я не смог ее понять. Пройдя через несколько похожих вопросов здесь (которые в основном основаны на Python) и в других местах, я получил некоторое представление об использовании BinData, но все же я не могу успешно загрузить файлы таким образом.
Мне нужна дополнительная информация о загрузке файлов через BinData
и особенно о правильном способе инициализации, поскольку я обычно получаю BinData not a function
или BinData is not defined
ошибки. Вот мой текущий код, в котором я тестирую функциональность:
import { Meteor } from "meteor/meteor";
import { Mongo } from "meteor/mongo";
export const Attachment = new Mongo.Collection("attachment");
let BinData = Mongo.BinData; //wrong initialisation
function createAttachment(fileData) {
const data = new Buffer(fileData, "base64");
Attachment.insert({file: new BinData(0, data)});
}
Некоторые полезные ссылки:
MongoInternals
и получить прямой доступ к полному импортированному модулю. Не экспортируется наMongo
. В противном случае вы всегда можете потребовать независимый модуль. - person Neil Lunn   schedule 05.09.2017BinData(0,"")
и ничего не отображает при чтении данных из mongodb. - person Adil   schedule 11.09.2017