🗒️服务端开发--Hw06 MongoDB
2023-10-18
| 2024-3-14
字数 694阅读时长≈ 2 分钟

MongoDB

依赖和配置

pom.xml引入依赖
mongodb配置

安装docker

Interact with MongoDB Shell

首次操作

首次操作按照老师PPT的步骤
  1. docker network create mongo-net
  1. docker run --name my-mongo --network mongo-net -p 27017:27017 -d mongo:latest
      • 若没有mongo镜像会自动下载,然后创建my-mongo实例
  1. docker run -it --network mongo-net --rm mongo mongosh --host my-mongo
还有一种启动方法:install mongodb with docker
  1. 创建容器。docker run --name mongo -p 27017:27017 -d mongodb/mongodb-community-server:latest,其中注意标明p 27017:27017,将容器端口映射到主机端口,实现端口映射。未标明p 27017:27017将无法在SpringBoot中启动MongoDB服务
  1. docker exec -it mongo mongosh 启动Mongosh,打开交互式窗口,不过这是可选的。

创建mongo实例后再次访问Mongosh

  1. 在Docker Desktop中启动my-mongo实例
  1. 终端输入 docker run -it --network mongo-net --rm mongo mongosh --host my-mongo 访问MongoDB Shell,可以交互式查看集合和文档(并不是必须开启Mongosh才能连MongoDB,Mongosh只是查看数据库内容的工具)
      • -rm 表示在容器停止后立即删除容器
notion image
我们发现多出一个sharp_shannon容器,结合上文的--rm,猜测这与mongosh有关,当容器停止后便自动删除
当我们手动关闭这个容器后,发现终端中的Mongosh自动退出了:

@Document和@Id

我们给Contact领域类注解@Document,和MongoDB的表结构对应起来,并且id用String的形式,因为MongoDB的_id采用UUID的格式存储

@Repository

这里注意,我们不使用JpaRepository,使用CrudRepository,且id类型为String
  • CrudRepository的find查询结果返回类型为Iterable,不是List

MongoDB cheatsheet

notion image
notion image
notion image
  • mongodb
  • Spring Boot
  • vim剪切板和Ubuntu系统同步的探究MIT 6.null--data wrangling
    Loading...