加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

MongoDB之基本操作及日常维护

发布时间:2023-10-03 15:19:21 所属栏目:系统 来源:
导读:MongoDB基本操作

MongoDB的基本操作主要是对数据库、集合、文档的操作,包括创建数据库、删除数据库、插入文档、更改文档、删除文档、和查询文档。

操作 描述

show dbs 查看当前实例下的数据库列表
MongoDB基本操作
 
MongoDB的基本操作主要是对数据库、集合、文档的操作,包括创建数据库、删除数据库、插入文档、更改文档、删除文档、和查询文档。
 
操作 描述
 
show dbs 查看当前实例下的数据库列表
 
show users 显示用户
 
use <db_name> 切换当前数据库
 
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;
 
mycollection
 
mongos> db.mycollection.drop();
 
true
 
mongos> 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      //进入实例2
 
db.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命令。
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章