springboot整合mongodb

85 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。​ ​今天的努力都是为了更好的明天,记录自己的成长,记录每一个知识点,与大家一起努力,加油 一。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数据库中定义,超级账号,超级权限