我正在考虑data-url在我的mongoDB中存储s 而不是存储对文件的引用或使用GridFS.
数据网址:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAAEsCAYAAAB38aczAAAgAElEQV
Run Code Online (Sandbox Code Playgroud)
我存储的所有文件都是JPG或PNG,大小不到1MB.
我想知道这是否被认为是不好的做法,以及读取和写入操作的性能影响,将data-urls 1)存储在单独的集合中2)作为集合中的元数据.
我对小文件存储的任何其他建议持开放态度.
首先,我不会将base64编码数据存储在完全能够存储二进制数据的数据库中.那只是浪费空间.存储图像本身,而不是它的base64表示,即不存在data : "VBORw0KGgoAAAANSUhEUgAAA...",但data : BinData("VBORw0KGgoAAAANSUhEUgAAA...")(前者是MongoDB的字符串,后者是二进制数据).Base64将尺寸增加了33%.
除此之外,我认为这很好.权衡是1个请求,它抓取所有数据与多个请求.存储更大块数据的缺点是所有数据必须在RAM中暂时存在,但在1MB时这可能不是问题.
但是,您应该确保在不需要图像的情况下不要获取文档.1MB并不算太多,但对于阅读量很大的收藏来说,这是一场灾难.
| 归档时间: |
|
| 查看次数: |
3743 次 |
| 最近记录: |