我想知道哪个是更好/更快: 单独收集仅包含保存为二进制数据的图像的文档,以及可能的一些元数据. 或使用GridFS来存储图像. 如果您的图像很小,您可以将它们作为二进制数据存储在您
>单独收集仅包含保存为二进制数据的图像的文档,以及可能的一些元数据.
>或使用GridFS来存储图像.
但是,如果您的图像较大,我将使用GridFS. GridFS具有一些功能,可以很好地处理您应该考虑的图像:
>对于较大的图像,当它们存储在GridF中时,它们将被分割成块,您可以存储非常大的文件.如果您尝试在文档中存储图像,则受到文档最大尺寸16Mb的约束,并且您正在占用需要用于实际文档的空间.
>您可以向图像本身添加元数据,并针对这些属性运行查询,就像从集合中的常规文档执行查询一样.因此,GridFS与图像元数据的文档一样好.
>我真的很喜欢我在图像上计算出MD5哈希值. (这对我的一些情况非常有用).
>通过在GridFS中存储图像,您可以自己将图像的预处理保存为二进制格式(不是一件大事,而是GridFS的一个方便)
在性能方面,对正常文档的阅读/写作应该与对GridFS进行对比.我不会考虑表现作为选择任何一个的区别.
我个人的建议是使用GridFS,但是您需要根据您的具体用例进行分析.
希望这可以帮助.