时隔俩月再次前来更新,太忙了。这次把从年前持续到现在的一个项目用到的mongodb技术总结一下。陆陆续续遇到的坑和经验也放进来。
首先是技术选型上,我为啥选择使用mongodb,而不是mysql?
这个完全是看业务场景,业务场景会导致数据的特殊性。我负责的内容管理部分。主要是存储用户和内容的交互数据。数据量比较大,而且都是新增动作,没有修改。且每条数据的字段如果是mysql,会存在很多varchar长度超过200,text的字段。所以选择使用mongodb.
1.首先项目引入依赖
<!--集成mongodb-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<version>2.2.6.RELEASE</version>
</dependency>
2.然后配置文件加上连接mongodb的配置
spring:
data:
mongodb:
host: mongodb-server
port: 27017
database: content
3.在具体项目的类中注入MongoTemplate
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
@Autowired
private MongoTemplate mongoTemplate;
4.封装实体类,其中Document的注解至关重要。这个影响查询时能不能查询到数据
import io.swagger.annotations.ApiModelProperty;
import org.springframework.data.mongodb.core.mapping.Document;
import java.io.Serializable;
import java.util.Date;
@Document(collection="homework_multimedia_detail")
public class HomeworkMultimediaDetailDocument implements Serializable {
private static final long serialVersionUID = 865391169131304