# spring-boot-mongodb-bestpractice **Repository Path**: simonAt/spring-boot-mongodb-bestpractice ## Basic Information - **Project Name**: spring-boot-mongodb-bestpractice - **Description**: 演示,spring boot 结合 mongodb 时,怎样使用比较灵活,好用。 如果大家有比较好的使用方式,请不吝赐教,谢过先!, - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-06-08 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # spring-boot-mongodb-bestpractice #### 项目介绍 1. 用spring data mongodb 感觉太麻烦也不灵活。新的mongodb driver 支持pojo映射了 http://mongodb.github.io/mongo-java-driver/3.7/driver/getting-started/quick-start-pojo/ 2. mongodb 连接配置需要先修改为自己的参数 3. mongodb 对应数据库的 person collection中,添加如下初始化数据。 ``` { "_id" : ObjectId("5b19ec141319870ec0fa6dd2"), "age" : NumberInt(31), "name" : "chenhua", "addr" : { "city" : "suzhou", "tel" : "15501503609" }, "friends" : [ ObjectId("5b19ec661319870ec0fa6dd3") ], "meta" : { "ct" : ISODate("2018-01-19T20:13:48.483+0800"), "cb" : ObjectId("5715aca990b96e3144eb0e63"), "status" : NumberInt(0), "ut" : ISODate("2018-02-02T14:07:43.140+0800"), "ub" : ObjectId("5715aca990b96e3144eb0e63") } } { "_id" : ObjectId("5b19ec661319870ec0fa6dd3"), "age" : NumberInt(31), "name" : "xingzi", "addr" : { "city" : "suzhou", "tel" : "15501503608" }, "friends" : [ ], "meta" : { "ct" : ISODate("2018-01-19T20:13:48.483+0800"), "cb" : ObjectId("5715aca990b96e3144eb0e63"), "status" : NumberInt(0), "ut" : ISODate("2018-02-02T14:07:43.140+0800"), "ub" : ObjectId("5715aca990b96e3144eb0e63") } } ``` 4. 这其实不是最佳实践。因为感觉使用起来还是很麻烦。 最开始我是公用的操作都放在 BaseService, 各个具体的Service里面写差异化的查询。 返回的数据都是Document. 因为都是Document 所以只有开发自己知道里面有什么。Swagger 界面上 对于返回值是啥只有执行后才能看出来。 现在这一版是想说, 原先的直接返回Document 和 返回映射过后的POJO对象并存。 下一阶段应该是这样的,比如以Person 为例: 需要建立这样几个简单对象。 PersonTo 用来接收查询参数。 返回数据 PersonVo 用于前端显示,PersonVo 里面可能携带了其他表的字段。 存储数据 用 PersonDo, 用mongodb 的话,Do 可以直接用 Document 。 #### 安装教程 1. 简单maven项目,导入即可。 #### 使用说明 1. 导入 2. 运行MongoApplication 3. 访问 http://localhost:8080/swagger-ui.html