它实际上取决于您的用例——特别是您正在处理的约束。
我可以想到两种方法:
-
存储为
type: Buffer
是的。
-
存储为
type: String
在里面
base64
是的。
存储为
Buffer
可能是存储空间/速度的最有效方法。它还提供了将其转换为用例所需的任何类型的灵活性。
存储为
String
当您需要访问文件进行下载时,将使您更容易控制文件内容,因为您不需要从
缓冲器
到
基数64
是的。
就我个人而言,我喜欢将文件存储为
缓冲器
并在其他必要的领域,如
filename
和
mimetype
会产生如下结果:
source: {
file: { type: Buffer, required: true },
filename: { type: String, required: true },
mimetype: { type: String, required: true }
}
……但这也适用于我的用例。
还有第三种存储方法
GridFS
在Mongo中,以防您的文件超过16MB的文件大小。您可以在他们的官方文档页面中阅读更多信息:
https://docs.mongodb.com/manual/core/gridfs/