• MongoDB


    MongoDB

    MongoDB是一种流行的非关系型数据库,它采用文档型数据模型,具有灵活的数据结构和强大的扩展性。

    • 首页轮播图等等存放一些经常改变的数据
    • 大数据存储和分析
    • 实时分析和报告
    • 内容管理系统
    • 实时应用和缓存
    • 用户个性化推荐

    1.安装

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

    2.建立数据库

    3.MongoDB 使用

    基于Spring Boot使用

    3.1 引用依赖包

    1. <!-- Spring Data MongoDB -->
    2. <dependency>
    3. <groupId>org.springframework.boot</groupId>
    4. <artifactId>spring-boot-starter-data-mongodb</artifactId>
    5. </dependency>

    3.2 配置文件配置mongodb资料

    1. # MongoDB连接信息
    2. spring.data.mongodb.host=192.168.14.45
    3. spring.data.mongodb.port=27017
    4. spring.data.mongodb.database=mall
    5. spring.data.mongodb.auto-index-creation=true

    3.3 准备对象Person

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

    4.Person类

    id  name  age

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

    加上@id

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

    5.测试类

    6.给person加一个girls

    直接在类中加一个字段

    7.插入 多条插入

    8.第一种:加注解改名字@Document(collection="新改的名字")

    第二种:

    9.save

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

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

    update比save性能更高

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

    updateFirst 只更新一行

    query

    gt 是大于

    age>10的name改成渣男

    11.删除

    findAndRemove

    删除并返回出来

    allAndRemove

    符合条件拿出来删掉

     

    12.查询

    findById 精确查找某一个

    findOne 返回一个

    findAll 返回list

    联合查询 andOperator

    orOperator

    in

    gt大于 lt小于

    gte大于等于 lte小于等于

    13.排序

    根据girls的数量排序

    取总数 count

    14.根据正则表达式regex

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

    15.创建索引

    descending 降序 -1

    ascending 升序 1

    16.查询文档

    db.getCollection("person").find({ name: /^赵/ ,name: /蚝$/})

    db.getCollection("person").find({ name: /^生/,age:{$lte:18}})

    详细代码

    https://gitee.com/zxy06291/mangodb

  • 相关阅读:
    高等数学刷题
    Transform+ASM插桩系列(3)——Transform+ASM的实战
    MobileVIT学习笔记
    案例分享 生产环境逐步迁移至k8s集群 - pod注册到consul
    android入门之 Support Library
    SSRF漏洞实战
    压缩文件7-Zip与WinRAR个人免费版在不同压缩等级下的对比
    实验一、综合实验【Process on】
    C++宏的作用
    使用ffmpeg解码音频sdl(pull)播放
  • 原文地址:https://blog.csdn.net/qq_52963857/article/details/132901173