docker安装Mongodb并使用SpringBoot整合Mongodb简单教程

1.docker安装教程

1.拉取镜像

docker pull mongo:latest

在这里插入图片描述
2.创建并启动容器

docker run -d --restart=always -p 27017:27017 --name mymongo -v /docker/mongodb/data:/data/db -d mongo

3.查看容器是否运行成功

docker ps -a

在这里插入图片描述
容器运行成功
4.测试连接

在这里插入图片描述

2.Mongodb与传统数据库区别

SQL术语/概念MongoDB术语/概念解释说明
databasedatabasedatabase
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
primary keyprimary key主键,MongoDB自动将_id字段设置为主键
tablejoins表连接,MongoDB不支持

7.注意事项

 1、文档中的键/值对是有序的。
 2、文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
 3、MongoDB区分类型和大小写。
 4、MongoDB的文档不能有重复的键。
 5、文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
6、键不能含有\0 (空字符)。这个字符用来表示键的结尾。
 7、.和$有特别的意义,只有在特定环境下才能使用。
8、以下划线"_"开头的键是保留的(不是严格要求的)。

2.mongodb常用命令

1.Help查看命令提示

db.help();

2.切换数据库

use test
当数据库不存在时会创建

3.删除数据库

db.dropDatabase();

4.获取数据库名称

db.getName();

5.查看版本

db.version();

6.创建集合

db.createCollection("student")

7.新增字段

db.student.save({name:'李华',age:0,sex:'男'})
1.当第二次使用命令时新增字段时,之前新增的数据会为空
db.student.save({name:'李华',age:0,sex:'男',birthyday:'2022-02-23'})

8.查询

# select * from student where name = 'zhangsan'
 db.student.find({name:"zhangsan"})
# select name, age from student where age = 21
db.student.find({age:21}, {'name':1, 'age':1})

9.排序

# select * from student order by age
db.student.find().sort({age:1})MongoDB 中使用 sort() 方法对数据进行排序,sort() 方法可以通过参数指定排序的字段并使用 1-1 来指定排序的方式,其中 1 为升序排列,而 -1 是用于降序排列。

10.截取

# select * from student skip 2 limit 3
 db.student.find().skip(0).limit(3)MongoDB 中使用 limit()方法来读取指定数量的数据,skip()方法来跳过指定数量的数据

11.in

# select * from student where age in (21, 26, 32)
db.student.find({age:{$in:[21,26,32]}})

12.count

# select count(*) from student where age >20
 db.student.find({age:{$gt:20}}).count()

13.or

# select * from student where age = 21 or age = 28
 db.student.find({$or:[{age:21}, {age:28}]})

14.update

# update student set age = 100, sex = 0 where name = 'zhangsan'
 db.student.update({name:"zhangsan"}, {$set:{age:100, sex:0}})
 Update()有几个参数需要注意。
db.collection.update(criteria, objNew, upsert, mult)
criteria:需要更新的条件表达式
objNew:更新表达式
upsert:FI标记录不存在,是否插入新文档。
multi:是否更新多个文档。

15.删除

db.student.remove(id)
//移除对应id的行
 db.student.remove({})
//移除所有

springBoot集成Mongodb

1.引入相关依赖pom文件

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">


    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.example</groupId>
    <artifactId>springboot-mongodb-start</artifactId>
    <packaging>jar</packaging>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

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

2.添加配置文件

spring:
  data:
    mongodb:
      uri:  mongodb://192.168.32.250:27017/studyinfo
server:
  port: 8009

3.新建实体类

package com.example.domain;

import lombok.*;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Data
@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Document(collection = "student")
public class Student {
    @Id
    private String id;
    private String name;
    private int age;
    private String sex;

}

4.新建test类

import com.example.MyMongodbApplication;
import com.example.domain.Student;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.List;

@SpringBootTest(classes = MyMongodbApplication.class)
@RunWith(SpringRunner.class)
public class MongodbTest {
    //引入依赖
    @Autowired
    private MongoTemplate mongoTemplate;
    @Test
    public void query(){
        List<Student> student = mongoTemplate.findAll(Student.class, "student");
       student.forEach(System.out::println);
    }

    @Test
    public void insert(){
        mongoTemplate.insert(new Student("韩信",21,"男"));

    }
    @Test
    public void update(){
        Query query=new Query();
        Criteria criteria = Criteria.where("name").is("李白");
        query.addCriteria(criteria);
        List<Student> students = mongoTemplate.find(query, Student.class);
        students.forEach(System.out::println);
        Update update=new Update();
        update.set("name","李白2");
        mongoTemplate.upsert(query,update,Student.class);
    }

    @Test
    public void del(){
        Student byId = mongoTemplate.findById("63f9e6297a836d86c4cd5bc2", Student.class);
        mongoTemplate.remove(byId);
        
    }


}

5.以上就是使用MongoTemplate 完成CURD,特别注意的是,查询修改删除中都要使用的query对象,以及条件构造器criteria对象进行操作。
也可以使用MongoRepository,使用方法与MybatisPlus用法很像,有兴趣的小伙伴可以自行研究

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 1. 使用命令 "docker pull mongo" 下载 MongoDB 镜像。 2. 使用命令 "docker run -d -p 27017:27017 --name mongodb mongo" 启动 MongoDB 容器。 3. 使用命令 "docker exec -it mongodb bash" 进入 MongoDB 容器。 4. 使用命令 "mongo" 连接 MongoDB 数据库。 5. 使用命令 "use admin" 切换到 admin 数据库。 6. 使用命令 "db.createUser({user: 'username', pwd: 'password', roles: [{role: 'root', db: 'admin'}] })" 创建超级用户。 7. 使用命令 "exit" 退出 MongoDB 容器。 8. 使用命令 "docker stop mongodb" 停止 MongoDB 容器。 9. 使用命令 "docker start mongodb" 启动 MongoDB 容器并使用创建的超级用户登录。 注意:在实际操作时,请将 "username" 和 "password" 替换为您自己的用户名和密码。 ### 回答2: Docker 是一个容器化技术,可以使得应用在不同的环境下得以快速部署。MongoDB 是一种流行的非关系型数据库,在 Docker使用 MongoDB 可以加速开发和测试过程。下面是在 Docker安装 MongoDB 的步骤: 1. 安装 Docker 首先需要安装 Docker安装方法可以参考官方文档:https://docs.docker.com/engine/install/ 2. 下载 MongoDB 镜像 在 Docker安装 MongoDB,需要下载 MongoDB 镜像。在终端中输入以下命令即可下载 MongoDB 镜像: ``` docker pull mongo ``` 3. 运行 MongoDB 容器 下面的命令将启动一个名为 mongodb 的容器,并在其内部运行 MongoDB: ``` docker run -d —name mongodb -p 27017:27017 mongo:latest ``` 其中,-d 告诉 Docker 在后台运行容器,--name 指定容器名称为 mongodb,-p 27017:27017 表示将容器内部的 27017 端口映射到主机的 27017 端口,最后的 mongo:latest 是镜像名称和版本号。 4. 连接 MongoDB 使用以下命令连接容器内的 MongoDB: ``` docker exec -it mongodb mongo ``` 其中,-it 表示以交互式会话进入容器内,mongo 是进入容器后要执行的命令。 5. 配置 MongoDB 在容器内部,执行以下命令可以配置 MongoDB: ``` use testdb db.stats() ``` 其中,use testdb 创建了一个名为 testdb 的数据库,db.stats() 可以查看数据库状态。可以在容器内部使用 MongoDB 的标准命令行工具进行操作。 以上就是在 Docker安装 MongoDB 并进行配置的详细步骤。通过 Docker,可以快速创建 MongoDB 环境,方便快捷地进行开发和测试。 ### 回答3: Docker是一个开源的容器化平台,它可以让开发者把应用程序和服务打包到一个容器中,并部署到任何支持Docker的机器上。Docker中最常用的应用就是MongoDB数据库,因为MongoDB可以轻松地扩展和存储大量数据。下面我们就来看看如何在Docker安装MongoDB并进行配置。 1.安装Docker 首先,你需要在你的服务器上安装Docker。如果你还没有安装Docker,请先在官方网站上下载并安装Docker。 2.拉取MongoDBDocker镜像 在安装和配置之前,你需要拉取MongoDBDocker镜像。可以使用以下命令拉取MongoDB镜像: docker pull mongo 3.创建MongoDB容器 接下来,你需要创建一个MongoDB的容器。可以使用以下命令创建MongoDB容器: docker run -it -d --name mongo -p 27017:27017 mongo 通过上述命令,我们创建了名为“mongo”的容器,并将容器的端口映射到主机的端口27017上。这表示,当你连接到主机的端口27017时,实际上连接的是容器的端口27017,因此可以访问MongoDB。 4.连接MongoDB 现在,MongoDB容器已经准备就绪。你可以尝试连接到MongoDB容器来检查是否能成功连接。可以使用以下命令连接到MongoDBdocker exec -it mongo mongo 通过上述命令,你将进入到mongodb容器中,并成功连接到mongodb服务器上。 5.更改MongoDB的配置 为了更强大的功能,可以修改一些MongoDB的配置项,而Docker容器中的MongoDB配置文件类似于Linux系统上的MongoDB配置。因此,可以使用以下命令来编辑MongoDB的配置文件: docker exec -it mongo vi /etc/mongodb.conf 然后你可以根据需要进行更改,并将更改保存到配置文件中。 6.重启MongoDB容器 最后,你需要重启MongoDB容器,以确保更改得到保存。可以使用以下命令来重启MongoDB容器: docker restart mongo 经过以上步骤,你就完成了在Docker安装MongoDB并进行配置的操作。在完成此过程之后,你可以实现大规模部署和使用MongoDB数据库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值