MongoDB

1.安装

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

2.建立数据库

MongoDB_第1张图片

3.MongoDB 使用

基于Spring Boot使用

3.1 引用依赖包

        
        
            org.springframework.boot
            spring-boot-starter-data-mongodb
        

3.2 配置文件配置mongodb资料

# MongoDB连接信息
spring.data.mongodb.host = 192.168.23.27
spring.data.mongodb.port = 27017
spring.data.mongodb.database = mallspring.data.mongodb.auto-index-creation = true

3.3 准备对象Person

@Document(collection = "person") // 指定集合名称,就是类似mysql的表,如果不指定就以类名称作为集合名称
@Data
public class Person {
    @Id // 文档id, 很重要,类似mysql 表的主键
    private Long id;
    private String name;
    private Integer age;
    /**
     * 创建一个10秒之后文档自动删除的索引 结合 spring.data.mongodb.auto-index-creation = true 一起使用       创建一个10秒之后文档自动删除, 类似 redis ttl注意:这个字段必须是date类型或者是一个包含date类型值的数组字段,一般我们使用date类型;
     */
    @Indexed(expireAfterSeconds=10)
    private LocalDateTime createTime;
}

4.Person类

id  name  age

没有id,会自动生成唯一id

加上@id

文档的id,类似于mysql的主键

MongoDB_第2张图片

5.测试类

MongoDB_第3张图片

MongoDB_第4张图片

6.给person加一个girls

直接在类中加一个字段

MongoDB_第5张图片

7.插入 多条插入

MongoDB_第6张图片

8.

第一种:

加注解改名字@Document(collection="新改的名字")

第二种:

MongoDB_第7张图片

9.save

MongoDB_第8张图片

直接调用save即可,代替insert,单条插入修改

10.更新,在测试类中添加

update比save性能更高

save是全部,update是针对性更新

updateFirst 只更新一行

query

MongoDB_第9张图片

gt 是大于

age>10的name改成渣男

MongoDB_第10张图片

MongoDB_第11张图片

11.删除

MongoDB_第12张图片

findAndRemove

删除并返回出来

MongoDB_第13张图片

allAndRemove

符合条件拿出来删掉

 MongoDB_第14张图片

12.查询

findById

精确查找某一个

MongoDB_第15张图片

findOne

返回一个

MongoDB_第16张图片

findAll

返回list

MongoDB_第17张图片

联合查询

MongoDB_第18张图片

orOperator

MongoDB_第19张图片

in

MongoDB_第20张图片

gt大于 lt小于

MongoDB_第21张图片

gte大于等于 lte小于等于

MongoDB_第22张图片

13.排序

根据girls的数量排序

MongoDB_第23张图片

取总数

count

MongoDB_第24张图片

14.根据正则表达式regex

正则表达式在线测试 | 菜鸟工具

MongoDB_第25张图片

MongoDB_第26张图片

15.创建索引

MongoDB_第27张图片

16.查询文档

db.getCollection("my_person").find({ name: /^张/ ,name: /大$/}) db.getCollection("my_person").find({ name: /^张/,age:{$lte:12}})

MongoDB_第28张图片

你可能感兴趣的:(mongodb,mongodb,数据库)