一、MongoDB下载

话不多说,直接上链接,32位和64位都有,自己看情况下载。
MongoDB下载链接:https://www.mongodb.com/download-center/community

二、安装MongoDB

  1. 下载好MongoDB,然后双击.msi文件。
  2. 点击next
  3. 选择custom
  4. 选择安装目录
  5. 配置名称、数据存放文件夹、日志存放文件
  6. 点击next ,取消选择Install MongoDB Compass(这里重点强调取消选择,否则你会后悔的!!!)
  7. 点击install安装

安装完成后需要在data文件夹中创建db文件夹
在这里插入图片描述

配置环境变量:此电脑=>>右击点击属性=>>选择高级系统设置=>>点击环境变量=>>选择path=>>点击编辑=>>然后新建=>选择bin目录路径=>>确定
在这里插入图片描述
在这里插入图片描述
配置存储路径并打开mongo服务

注意:必须在自己电脑根目录运行,否则会报错!!!
在这里插入图片描述
上个shell窗口不能关闭,检查是否安装成功,成功会显示下面的信息
在这里插入图片描述
三、配置Mongo服务
让mongo服务自己启动,不用我们认为去控制,这里我们需要在log文件夹下面创建一个db.log文件
在这里插入图片描述

配置服务(在Mongo文件夹中创建mongodb.config文件)
在这里插入图片描述
然后在bin目录打开shell窗口输入==>mongod --config “E:\Surroundings\DB\Mongo\mongodb.config” --install --serviceName “MongoDB”
在这里插入图片描述
重启mongo服务,重新打开cmd输入net start MongoDB
在这里插入图片描述

以上是Mongodb的安装过程 到这里安装完成,接下来讲讲如何设置用户名密码

三、设置用户名密码

在mongodb刚装好后,用官网自带的客户端MongoDB Compass一键connect链接后,点击界面最下方 “>MONGOSH”,输入此命令,下同。
1.admin表创建一个admin user并设置密码并给userAdminAnyDatabase的权限;

use admin;
db.createUser({user: 'admin', pwd: '123456', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]});

2.业务表创建一个user并设置密码并给dbAdmin和dbOwner的权限;

use my_db;
db.createUser({user: 'root', pwd: '123456', roles: [{role: 'dbAdmin', db: 'hv'}, {role: 'dbOwner', db: 'hv'}]});

3.打开mongod.cfg文件(不同版本在不同路径下,3.4.5版本的在与bin同级的文件夹下, 4.2版本在bin文件夹里面),在最末尾添加上:

security:
  authorization: enabled

4.任务管理器->services服务,找到MongoDB服务,右键restart。

5.Studio 3T创建一个连接,Authentication那里选择Basic, 输入用户名密码和业务表名,就可以成功连接。如果不输入用户名密码,则可以连接localhost:27017但是看不到任何数据库表。

或者采取在MongoDB Compass用url方式链接:
mongodb://root:123456@localhost:27017/hv

注意:如果不给admin表设置账号,则就算给业务表设置账号密码也没用,没有账号密码一样可以访问。

四、整合springboot

1.引入依赖

  <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
 
  <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
    </dependency>

2.yml文件

server:
  port: 9443

spring:
  data:
    mongodb:
      uri: "mongodb://root:123456@localhost:27017/hv"
  application: jkxt

3.引用MongoTemplate

    @Test
    public void createMg(){
        Student student=new Student();
        student.setAge(1);
        student.setName("张三");
        mongoTemplate.save(student);
        System.out.println("查询MG的数据:"+student);
    }

    @Test
    public void findMg(){
        List<Student> studentList = mongoTemplate.findAll(Student.class);
    }

带条件查

    @Test
    public void findList(){
        Query query=new Query(Criteria.where("name").is("张三").and("age").is(91));
        List<Student> tList = mongoTemplate.find(query, Student.class);
        System.out.println("条件查询:"+tList);
    }

模糊查询

@Test
    public void findLikeList(){
        String likeName="o";//自定义的常量
        String reges=String.format("%s%s%s", "^.*", likeName, ".*$");//匹配规则
 
        Pattern pattern=Pattern.compile(reges,Pattern.CASE_INSENSITIVE);//正则匹配规则--pattern的常量
        Query query =new Query(Criteria.where("name").regex(pattern));
 
        List<Student> studentList=mongoTemplate.find(query,Student.class);
    for (Student s:studentList) {
        System.out.println("模糊查询:"+s);
    }
}

修改

public void findLikeList(LoginLog log){
Query query =new Query(Criteria.where("phone").is("123456789"));
            Update update=new Update();
            update.set("cid",log.getCid());
            update.set("areaCode",log.getAreaCode());
            update.set("areaName",log.getAreaName());
            mongoTemplate.upsert(query,update,User.class);
            }

删除

 @Test
    public void delStudent(){
        Query query =new Query(Criteria.where("_id").is("6204969434c3ed66b12eb658"));
        DeleteResult result=mongoTemplate.remove(query,Student.class);
 
        long deletedCount = result.getDeletedCount();
        //=1成功  =0失败
        System.out.println("记录数:"+deletedCount);
    }
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐