3.导入导出数据
•mongoexport命令可以把一个collection导出成JSON格式或CSV格式的文件,可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
•mongoimport命令可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入SON格式或CSV格式的文件。
(1)创建100个数据
> use kgc;
switched to db kgc
> for(var i=1;i<=100;i++)db.users.insert({"id":i,"name":"jack"+i})
WriteResult({ "nInserted" : 1 })
> db.users.count()
100
(2)进行导入与导出操作
#导出操作
[root@localhost ~]# mongoexport -d kgc -c users -o /opt/users.json
2018-07-16T16:36:30.395+0800 connected to: localhost
2018-07-16T16:36:30.407+0800 exported 100 records
#查看导出的文件
[root@localhost ~]# head -n 3 /opt/users.json
{"_id":{"$oid":"5b4c589f43705395b9afe284"},"id":1.0,"name":"jack1"}
{"_id":{"$oid":"5b4c589f43705395b9afe285"},"id":2.0,"name":"jack2"}
{"_id":{"$oid":"5b4c589f43705395b9afe286"},"id":3.0,"name":"jack3"}```
#导入操作
root@localhost ~]# mongoimport -d kgc -c user1 --file /opt/users.json
2018-07-16T16:38:13.615+0800 connected to: localhost
2018-07-16T16:38:13.635+0800 imported 100 documents
#查看导入的数据集合
> use kgc;
switched to db kgc
> show collections
user1
users
> exit
bye
#条件导出操作
[root@localhost ~]# mongoexport -d kgc -c user1 -q '{"id":{"$eq":10}}' -o /opt/top10.json
2018-07-16T16:40:28.912+0800 connected to: localhost
2018-07-16T16:40:28.915+0800 exported 1 record
•-d:指明数据库的名字
•-c:指明collection的名字
•-f :指明要导出那些列
•-o:指明要导出的文件名
•-q:指明导出数据的过滤条件
4.备份与恢复
(1)备份
在MongoDB中可以使用 mongodump 命令来备份数据,该命令可以导出所有数据到指定目录中。
[root@localhost ~]# mkdir /opt/backup #创建备份文件夹
[root@localhost ~]# mongodump -d kgc -o /opt/backup/
2018-07-16T16:44:47.254+0800 writing kgc.user1 to
2018-07-16T16:44:47.254+0800 writing kgc.users to
2018-07-16T16:44:47.256+0800 done dumping kgc.user1 (100 documents)
2018-07-16T16:44:47.256+0800 done dumping kgc.users (100 documents)
(2)恢复
MongoDB使用mongorestore命令来恢复备份的数据
mongorestore -d kgc2 --dir=/backup/kgc ##恢复
5. 克隆集合
在MongoDB中可以将数据库中的集合进行克隆。这里将kgc数据库中的user1集合克隆到另外一个实例。
(1)先查看MongoDB开启的实例
[root@localhost ~]# netstat -ntap | grep mongod
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 1121/mongod
tcp 0 0 0.0.0.0:27018 0.0.0.0:* LISTEN 10145/mongod
(2)进入第二个实例27018端口
[root@localhost ~]# mongo --port 27018 ##进入另一个实例
> db.runCommand({"cloneCollection":"kgc.user1","from":"192.168.113.175:27017"})
{ "ok" : 1 }
> show dbs
admin 0.000GB
config 0.000GB
kgc 0.000GB
local 0.000GB
> use kgc
switched to db kgc
> show collections #查看27018端口实例的集合
user1
## 完成克隆
7.进程管理
管理员可以对MongoDB进程进行管理和控制。
查看当前正在运行的进程的命令为:db.currentOp()。
终止正在运行的高消耗资源的进程管理的进程命令为:db.killOp(opid)。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx