MongoDB嵌入相同的对象

时间:2013-03-19 18:03:12

标签: mongodb morphia

我有一个产品系列,想要像这样嵌入图像 仅供参考,我正在使用Morphia框架。 您是否预见到这样两次嵌入图像有什么问题?

或者我应该制作图像参考?

@Embedded
public ArrayList<Image> MainImages
public ArrayList<Image> SecondaryImages

1 个答案:

答案 0 :(得分:0)

您可能会遇到将图像嵌入到产品文档中的一些问题。考虑:

  • 文档大小限制为16 MB
  • 在更新期间移动大文档的开销
  • 无法分享类似产品的图片

我建议使用MongoDB的GridFS文件系统来存储图像。 GridFS包含两个集合:

  • chunks:将二进制数据(图像,在您的情况下)存储为默认情况下的块,为256k
  • files:存储索引和元数据

GridFS可以分片,可能只有块集合

您可以考虑嵌入和使用GridFS之间的“混合模式”:嵌入缩略图以便快速传送并将更大的图像存储在GridFS上。

有关GridFS的更多信息,请参阅general descriptionoperations referencesharding