在这里,我想使用Java将一个对象保存到MongoDB。我发现摩菲亚,Jongo,Springs都提供了实现它的框架。
为了将图像存储到mongoDB,我找到了GridFS
我的问题是,
请有人建议我克服这个problem..any link..or,知道哪个MongoDB java框架将非常有效地处理所有这些实时场景..??
有关数据结构的更多信息:
我想存储复杂的业务对象。例如,如果我想存储一个教室对象,它包含许多学生,每个学生都包含许多照片。在课堂上,对象有自己的data.And,每个学生都有自己的数据和照片列表。我必须有效地查询和分析这里的数据。它可以是课堂智慧,也可以是学生智慧。
发布于 2013-11-13 12:27:22
您可以将图像的元数据保存在普通文档中,该文档还包括可以找到二进制数据的GridFS文件名。
将元数据放在GridFS上将意味着它将成为二进制数据。然后,您就没有任何方法来查询它的文件名了。因此,当您的图像元数据也有超过16 So限制的风险时,这意味着您应该重新考虑您的数据库模式,并将其分离为多个文档。
当你想在课堂和学生层面上进行数据分析时,你应该把每个学生都放在一个文件中,然后要么让教室参考学生,要么让学生参考教室(或者两者都参考)。
我假设您的学生会在应用程序的生命周期中添加越来越多的图片。MongoDB不喜欢随时间增长的文档,因为不断增长的对象意味着MongoDB需要不断地重新分配它们的存储空间,这是写操作的性能杀手。在这种情况下,您还应该有一个单独的文件,每个图片,其中引用他们的学生。但是,如果情况并非如此(图像列表在创建时创建一次,然后很少更改),则应该将图像作为数组嵌入到学生对象中。
不管您是否嵌入或引用图像,图像文档/对象都应该只包含元数据,而二进制图像数据本身应该存储在GridFS上,并由其文件名从图像文档引用。
https://stackoverflow.com/questions/19952176
复制相似问题