mongodb
安装mongodb
1. 在docker环境中,安装mongodb
docker pull mongo
执行命令之后,等待镜像的拉取

2. 拉取结束后,查看镜像信息
docker images
repository: 镜像名
tag: 镜像的标签, 最新的统一使用 latest
images id: 镜像的唯一id
created: 镜像发布的时间

3. run镜像
启动容器并向宿主机映射端口,方便外部访问.
docker run --name mongodb -p 27017:27017 -d mongo --auth
--name 容器启动后的别名
-p , port端口映射, 前面表示宿主端口, 后面表示容器端口
-d 按照守护进程启动
mongo 镜像名, 可以是镜像id或者 name: tag 没有tag默认latest
--auth 容器内部参数, 主要是开启权限配置, 官方解释

出现一串字符表示容器已经启动
4. 配置用户信息
进入mongodb容器
docker exec -it a95fe1d /bin/bash
容器id可以通过docker ps查看
在容器中输入mongo进入到mongo服务
然后使用admin用户, 然后创建一个用户
引用: MongoDB权限、账户密码与端口
新建admin数据库,
use admin
db.createUser({
user:"root",
pwd:"root",
roles:[{
role:'root',
db:'admin'
}]
})

5. 使用Robo 3T 工具链接mongodb
ctrl+n 配置connect信息, 配置别名, ip, port

authentication配置数据库, 用户名, 密码

mongodb 基础
mongodb 是非关系型数据库, 他的内容记录格式十分灵活, 还可以作为文件服务器,存储文件.
以下是sql和mongodb的比较

在gui中,配置一个test数据库,并新增两个field不同document记录,对于数据不一致,此工具使用key,value展示

感受
mongodb是非关系型数据库, 不支持关系查询, 记录中的数据,就可能存在一定的冗余信息. 对于数据修改的一致性,可能会转移到客户端去控制. 可能更适合做日志信息, 消息信息, 行为数据信息等一些不怎么修改数据的场景.
官方说4.0已经可以支持事务了.但是相比于rdbms, 如果需要事务和关系查询还是优先使用rdbms,何必使用nosql.....
