导出(mongoexport)
命令
mongoexport -h dbhost -d dbname -c collectionName -o output
- -h:数据库地址, MongoDB服务器所在的IP与端口, 如localhost:27017
- -d:指明使用的数据库实例,如orderdb
- -c:指明要导出的集合,如 c1
- -o 指明要导出的文件名, 如/home/user/db/user.json, 注意是文件而不是目录,目录不存在时会一同创建
它使用的是MongoDB目录下/bin目录下的mongoexport 与 mongoimport 两个脚本.
image.png
使用--help命令查看帮助命令:
mongoexport --help
下面是一个导出数据库的例子:
准备数据
use orderdb
for (i = 1; i <= 1000; i=i+1){
db.user.insert({'username': 'zhouhc' + i})
}
导出
这是我们插入的数据,总共1000条数据.
> db.user.find().count()
1000
使用mongoexport 导出
mongoexport -h localhost:27017 -d orderdb -c user -o user.json
root@1b223265fe32:/home/userdb# mongoexport -h localhost:27017 -d orderdb -c user -o user.json
2021-08-04T14:48:21.021+0000 connected to: localhost:27017
2021-08-04T14:48:21.030+0000 exported 1000 records
root@1b223265fe32:/home/userdb# ls
user.json
数据导入
命令格式
mongoimport -h dbhost -d dbname -c collectionName 文件的地址...
- -h:数据库地址,MongoDB服务器所在的IP地址,如localhost:27017
- -d:指明使用的库,如orderdb
- -c:指明导入的集合, 如user
下面是一个导入数据库的例子:
删除数据
将我们刚才准备的数据库删除
> use orderdb
switched to db orderdb
> db.dropDatabase()
{ "dropped" : "orderdb", "ok" : 1 }
> show dbs
admin 0.000GB
local 0.000GB
我们的整个orderdb数据库都删除了.
导入
使用下面命令导入数据
mongoimport -h localhost:27017 -d orderdb -c user user.json
执行结果
root@1b223265fe32:/home/userdb# mongoimport -h localhost:27017 -d orderdb -c user user.json
2021-08-04T14:56:48.287+0000 connected to: localhost:27017
2021-08-04T14:56:48.302+0000 imported 1000 documents
root@1b223265fe32:/home/userdb#
> show dbs
admin 0.000GB
local 0.000GB
orderdb 0.000GB
> use orderdb
switched to db orderdb
> db.user.find().count()
1000