在mongodb中通过binDatatypes上传小文件

我想通过BinDatatypes将大小小于16MB的小file upload到MongoDB ,我知道这是小文件的唯一默认选项,而GRIDFS理想地用于超过16MB的文件。

不幸的是,我不能轻易得到正确的文档和上传文件的例子,没有在MongoDB文档上的GridFS。 我发现有关BinDatatypes的信息要么非常有限,要么我不明白。 通过几个类似的问题(主要是基于python的)和其他地方,我对BinData的使用有了一些想法,但仍然无法以这种方式成功上传文件。

我需要通过BinData上传文件的更多信息,特别是正确的方式来初始化,因为我通常得到的BinData not a functionBinData is not defined错误。 以下是我正在testingfunction的当前代码:

 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)}); } 

一些有用的链接:

蒙大的BSONtypes

BSON规格

有几个meteor包可以用来上传文件。

我自己使用了这个https://atmospherejs.com/vsivsi/file-collection

它可以存储您的文件在网格,并提供检索图像等url

也:

https://atmospherejs.com/jalik/ufs https://atmospherejs.com/ostrio/files