Spring Boot WebFlux 集成 Mongodb 数据源操作
WebFlux 整合 Mongodb
前言
上一讲用 Map 数据结构内存式存储了数据。这样数据就不会持久化,本文我们用 MongoDB 来实现 WebFlux 对数据源的操作。
什么是 MongoDB ?
官网:https://www.mongodb.com/
MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
由于操作方便,本文用 Docker 启动一个 MognoDB 服务。如果 Docker 不会安装的,请参考此文:Docker 安装与基本操作 https://www.jianshu.com/p/f272726db9c5
Docker 安装 MognoDB 并启动如下:
1、创建挂载目录
docker volume create mongo_data_db docker volume create mongo_data_configdb
2、启动 MognoDB
docker run -d \ --name mongo \ -v mongo_data_configdb:/data/configdb \ -v mongo_data_db:/data/db \ -p 27017:27017 \ mongo \ --auth
3、初始化管理员账号
docker exec -it mongo mongo admin // 容器名 // mongo命令 数据库名 # 创建最高权限用户 db.createUser({ user: 'admin', pwd: 'admin', roles: [ { role: "root", db: "admin" } ] });
4、测试连通性
docker run -it --rm --link mongo:mongo mongo mongo -u admin -p admin --authenticationDatabase admin mongo/admin
MognoDB 基本操作:
类似 MySQL 命令,显示库列表:
show dbs
使用某数据库
use admin
显示表列表
show collections
如果存在 city 表,格式化显示 city 表内容
db.city.find().pretty()
结构
类似上面讲的工程搭建,新建一个工程编写此案例。工程如图:
目录核心如下