MongoDB之基本操作与日常维护
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,MongoDB基本操作MongoDB的基本操作主要是对数据库、集合、文档的操作,包括创建数据库、删除数据库、插入文档、更改文档、删除文档、和查询文档。操作描述show dbs查看当前实例下的数据库列表
千家信息网最后更新 2025年11月07日MongoDB之基本操作与日常维护
MongoDB基本操作
MongoDB的基本操作主要是对数据库、集合、文档的操作,包括创建数据库、删除数据库、插入文档、更改文档、删除文档、和查询文档。
| 操作 | 描述 |
|---|---|
| show dbs | 查看当前实例下的数据库列表 |
| show users | 显示用户 |
| use | 切换当前数据库 |
| db.help() | 显示数据库操作命令 |
| show.collections | 显示当前数据库中的集合 |
| db.foo.help() | 显示集合操作命令,foo是当前数据库下的集合 |
| db.foo.find() | 对当前数据库中foo集合进行数据查找 |
MongoDB数据类型
- MongoDB支持许多数据类型的列表下面给出:
- String : 这是最常用的数据类型来存储数据。在MongoDB中的字符串必须是有效的UTF-8。
- Integer : 这种类型是用来存储一个数值。整数可以是32位或64位,这取决于您的服务器。
- Boolean : 此类型用于存储一个布尔值 (true/ false) 。
- Double : 这种类型是用来存储浮点值。
- Min/ Max keys : 这种类型被用来对BSON元素的最低和最高值比较。
- Arrays : 使用此类型的数组或列表或多个值存储到一个键。
- Timestamp : 时间戳。这可以方便记录时的文件已被修改或添加。
- Object : 此数据类型用于嵌入式的文件。
- Null : 这种类型是用来存储一个Null值。
- Symbol : 此数据类型用于字符串相同,但它通常是保留给特定符号类型的语言使用。
- Date : 此数据类型用于存储当前日期或时间的UNIX时间格式。可以指定自己的日期和时间,日期和年,月,日到创建对象。
- Object ID : 此数据类型用于存储文档的ID。
- Binary data : 此数据类型用于存储二进制数据。
- Code : 此数据类型用于存储到文档中的JavaScript代码。
- Regular expression : 此数据类型用于存储正则表
#创建数据库testdb数据库,使用以下语句mongos> use testdb;#查询数据库,要显示数据库必须插入至少一条文档mongos> show dbs;#插入数据文档mongos> db.tablename.insert({"name":"antian"});#数据库生成了mongos> show dbs;testdb 0.078GB#查询数据库mongos> show dbs;testdb 0.078GB#进入数据库mongos> use testdb;#删除数据库mongos> db.dropDatabase();{ "dropped" : "testdb", "ok" : 1 }#查询数据库mongos> show dbs;#创建集合#进入数据库mongos> use testdb;#创建集合mongos> db.createCollection("mycollection")mongos> show tables;mycollection#删除集合#进入数据库mongos> use testdb;mongos> show tables;mycollectionmongos> db.mycollection.drop();truemongos> show tables;#插入文档#插入一条文档mongos> db.tablesname.insert([{"name":"aaaaa","age":"18"}#插入两条文档mongos> db.tablesname.insert([{"name":"ddddd","age":"18"},{"name":"eeee","age":"10"}]);#查询一个文档:mongos> db.tablesname.findOne();MongoDB日常维护
一.导入导出
mongoimport命令可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入JSON格式数据,也可以导入CSV格式的数据。
mongoexport命令可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
参数说明:
- -d:指明数据库的名字
- -c:指明collection的名字
- -f:指明要导出哪些列
- -o:指明要导出的文件名
- -q:指明导出数据的过滤条件
for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i}) //循环写入100条数据mongoexport -d school -c info -o /opt/info.json //导出mongoimport -d school -c info1 --file /opt/info.json //导入到info集合mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json //条件导出指定第10行二.备份与恢复
备份:mongodump
恢复:mongorestore
参数说明:
- -h: MongoDB所在服务器地址
- -d:需要备份的数据库实例
- -o:备份的数据存放的位置,该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
mkdir /backup //创建存放目录mongodump -d abc -o /backup/ //备份abc数据库mongorestore -d abc123 --dir=/backup/abc //恢复到abc123数据库三.复制数据库
db.copyDatabase
>db.copyDatabase("abc","abc1") //复制数据库abc生成abc1四.克隆集合
runCommand
将abc中的info集合克隆到实例2
mongo --port 27018 //进入实例2db.runCommand({"cloneCollection":"abc.info","from":"192.168.100.152:27017"})五.授权启动
可以配置授权用户来访问MongoDB,启动时必须指定auth=true,否则授权不起作用。
可以将用户加入到角色,内置数据库用户角色包括:read、readWrite,数据库管理角色包括:dbAdmin、dbOwner、useAdmin,超级用户角色为root。
vim /usr/bin/mongodb1.conf......auth=true......mongo>use admin>db.createUser({"zx":"root","pwd":"123","roles":"[root"]}) //创建用户zx,密码为123,分配到root角色>db.auth("root","123") //验证用户六.进程管理
- 查看当前正在运行的进程的命令为:db.currentOp()
- 终止正在运行的高消耗资源的进程命令为:db.killOp(opid)
七.MongoDB监控
- 查看数据库实例的状态信息:db.serverStatus()
- 查看当前数据库的统计信息:db.status()
- 查看集合统计信息:db.users.stats()
- 查看集合大小:db.users.dataSize()
- 也可以通过Web界面查看系统监控信息,需要在配置文件中添加下面一行:
httpinterface=true
然后在浏览器中通过http://localhost:28017 进行访问。通过Web页面可以看到:
- 当前MongoDB的所有连接
- 各个数据库和Collection的访问统计,包括:Reads、Writes、Queries、GetMores、Inserts、Updates、Removes。
- 写锁的状态
- 日志文件的最后几百行。
- 所有的MongoDB命令。
数据
数据库
类型
文档
存储
命令
备份
文件
用户
实例
格式
目录
角色
查询
信息
时间
参数
日期
条件
进程
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
阜阳市公安局网络安全管理
学位论文全文数据库
山东网络安全检查
权限系统的数据库设计
微医科技互联网医院体验版
提取数据库名称
科技期刊数据库官网
a站服务器
戴尔t420服务器内存条参数
tp5 连接两个数据库
dba数据库转型
word中怎么生成数据库
用手机号码登录的网络安全吗
tp5获取数据库指定字段
校招 软件开发非科班
法院 网络安全意识培训
数据库体系结构从上至下
僵尸毁灭工程服务器存档位置
软件开发投入使用后还得
解决网络安全专业人才匮乏
win7系统服务器管理在哪
淄博mes软件开发服务
服务器cpu开直播可以吗
根据什么定位数据库
绘制软件开发流程图的软件
手机端怎么和服务器通信
单招网络技术在线测试模拟
网络安全教育非常简单的图片
宜宾网络技术厂家报价
养老一键通软件开发公司