MongoDB概述
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB安装
- 下载地址:https://www.mongodb.com/download-center/community
- 进行安装
rpm -ivh mongodb-org-server-7.0.7-1.el7.x86_64.rpm
- 启动mongdb
systemctl start mongod
- 查看状态
systemctl status mongod
Robo3T
Robo3T是一个开源工具,用于MongoDB的管理和查询。这个工具功能丰富,可用于日常数据库管理,也可用于特定任务的开发和调试。
Robo3T安装
官网下载地址:https://robomongo.org/download
下载完成后,双击程序进行安装。
Robo3T使用
- mongodb安装好之后,默认是本机连接方式,如果需要远程连接方式,需要修改配置文件。
默认是无认证登录方式
- vim /etc/mongod.conf,
将127.0.0.1改成0.0.0.0
- 修改之后重启mongodb
systemctl restart mongod
- 远程连接
- 点击保存后,双击test连接
- 右键test,点击Open Shell
- 输入use admin,并点击执行
- 创建用户
db.createUser({ user: "admin", pwd: "admin!@1234", // 或使用更安全的方式生成密码 roles: [ { role: "root", db: "admin" } ] })
- 因为默认是无认证登录方式,这种情况是非常不安全的。所以在账号创建后,就需要开启开启认证方式。
修改配置文件vim /etc/mongod.conf,添加认证。security: authorization: enabled
- 重启mongodb
systemctl restart mongod
- 登录时添加认证方式登录
- 连接成功之后,右键Collections,点击Create Collection,填入test。点击create,test集合就已创建。
- 右键test集合,以json格式插入数据。
{"userId" : NumberLong(3),"createBy" : NumberLong(3),"gmtCreate" : ISODate("2022-08-17T14:13:15.661Z"),"userCode" : "3"}
命令操作
-
常用命令
1. 查看数据库统计信息 db.stats(1073741824);//得到的是G单位的 2. 查询语句 db.getCollection('集合名称').find({条件语句}) 3. 删除语句(相当于软删除,实际磁盘空间未释放) db.getCollection('集合名称').deleteMany({条件语句}) 4. 查看预计回收内存 db.getCollection('集合名称').stats().wiredTiger["block-manager"]["file bytes available for reuse"] 5. 回收磁盘碎片 db.runCommand({compact: '集合名称', force: true})
-
双击test集合,界面如下所示。
-
常用运算符
$eq(等于)、$gt(大于)、$gte(大于等于)、$lt(小于)、$lte(小于等于)、$ne(不等于)
-
查询gmtCreate大于2022-06-20的数据
db.getCollection('test').find({gmtCreate: {$gt: ISODate("2022-06-20T00:00:00.738Z")}})
-
查询userId等于2的数据
db.getCollection('test').find({userId: {$eq: 2}})