如何将文件中的二进制数据存储到MongoDB

lat*_*per 5 mongodb node.js sails.js waterline

我想要存储为bin数据项的小图像.表单已发布但我不知道在控制器中该怎么做,所以如果我这样,那么数据就会被存储.我正在使用Sails.js,表单将数据作为"图像"传递,其中表单具有文件输入类型.

var image = new Images;
image.data = ????
image.save();
Run Code Online (Sandbox Code Playgroud)

小智 4

如果图片小于16Mb,可以直接使用MongoDB的bindata类型保存。您始终可以将二进制流转换为 Base64 字符串,并将其存储为字符串文件,但这会减少允许的图像大小。

如果图像大于16Mb,你别无选择,只能使用GridFS

  • 有人可以分享任何包含通过 bindata 类型上传文件的文档/示例的链接吗? (2认同)
  • 您能否向我们展示如何使用 MongoDB(而不使用 GridFS)完成此操作? (2认同)