本文已参与「新人创作礼」活动,一起开启掘金创作之路。 今天的努力都是为了更好的明天,记录自己的成长,记录每一个知识点,与大家一起努力,加油 一。springboot整合mongodb分步骤来简单说下,挺简单的, 1.首先pom.xml文件引入想要依赖包,相应的版本号根据个人需求,自行选择即可。
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>2.2.12.RELEASE</version>
</dependency>
2.yml文件配置
#数据源配置
spring:
data:
mongodb:
uri: mongodb://用户名:密码@ip:27017/库名
3.代码使用,样例
@Resource
private MongoTemplate mongoTemplate;
根据条件查单条数据:
Query query = new Query();
Criteria criteria = new Criteria();
criteria.andOperator(Criteria.where("_id").is(id));
query.addCriteria(criteria);
Interface anInterface = mongoTemplate.findOne(query, Interface.class, "interface");
指定返回字段
Query query = new Query();
Criteria criteria = new Criteria();
query.fields().include("id");
query.fields().include("path");
criteria.andOperator(Criteria.where("project_id").is(projectId));
query.addCriteria(criteria);
mongoTemplate.find(query, Interface.class,"interface");
根绝某个集合条件里的字段查询
Query query = new Query();
Criteria criteria = new Criteria();
criteria.andOperator(Criteria.where("members").elemMatch(Criteria.where("uid").is(uid)));
query.addCriteria(criteria);
mongoTemplate.find(query, Project.class,"project");
模糊查询
//左模糊匹配
Pattern pattern = Pattern.compile("^.*"+porojectName+".*$", Pattern.CASE_INSENSITIVE);
Query query = Query.query(Criteria.where("name").regex(pattern));
mongoTemplate.find(query, Project.class, "project");
小点:MongoDB权限介绍
权限 说明 read 允许用户读取指定数据库 readWrite 允许用户读写指定数据库 dbAdmin 允许用户在指定数据库中执行管理函数,如索引创建、删除、查看统计或访问system.profile userAdmin 允许用户向system.users集合写入,可以在指定数据库中创建、删除和管理用户 clusterAdmin 必须在admin数据库中定义,赋予用户所有分片和复制集相关函数的管理权限 readAnyDatabase 必须在admin数据库中定义,赋予用户所有数据库的读权限 readWriteAnyDatabase 必须在admin数据库中定义,赋予用户所有数据库的读写权限 userAdminAnyDatabase 必须在admin数据库中定义,赋予用户所有数据库的userAdmin权限 dbAdminAnyDatabase 必须在admin数据库中定义,赋予用户所有数据库的dbAdmin权限 root 必须在admin数据库中定义,超级账号,超级权限