我正在研究mongo db和Spring框架。 我相信mongodb的强度之一是消耗性结构,因此用户可以轻松添加或删除成员数据。
但是,我在用户文档中找到了许多示例(@Document
与this一样)。如果像这样的用户使用VO应该在字段添加或删除时编译java类,对吧?
我认为人们使用这种方式,因为这种结构有一定的意义。我想知道为什么。对我而言,使用Map<String, Object>
更合适。
感谢您回答我的基本问题。
答案 0 :(得分:0)
您可以通过以下几点找到答案:
(1)通过将Value Object
映射到@Document
,您可以在document
{{1}内表示一个MongoDB
的java对象(在堆中) }(如collection
,User
等。)称为对象到文档映射(ODM),您可以使用Spring Data MongoDB,Hibernate OGM 等框架等.. 为了这。优点是通过使用ODM框架的强大功能来存储/检索文档,而无需重新实现用于访问数据库的样板代码。
您可以在Spring数据框架的功能上查看here,并设法轻松存储/检索文档。
如果您不遵守此规定,您最终将重新实施整个Product
的样板代码。
(2)此外,对每种类型的数据使用Data Access Layer
都是针对OOP的,因此您应该使用您的业务术语(如产品文档,部门文档等)来表示数据。< / p>