MongoDB数据导入导出以及数据库备份

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37886429/article/details/88419430

一、MongoDB数据导入与导出

1、导出工具:mongoexport
mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
①语法格式

mongoexport -d dbname -c collectionname -o file --type json/csv -f field
参数说明:
	-d :数据库名
	-c :collection名
	-o :输出的文件名
	--type : 输出的格式,默认为json
	-f :输出的字段,如果-type为csv,则需要加上-f "字段名"
    -h :MongDB数据库服务器的IP,默认是本机,即 127.0.0.1
    -u :MongDB数据库的用户名
    -p :MongDB数据库的密码
    -q :导出数据的过滤条件

②示例

mongoexport -d pms -c product   -o product.json --type json -f  "skus,storeIds,detail,name,companyId"
或者
mongoexport -d pms -c product --csv  -o product.csv --type csv -f  "skus,storeIds,detail,name,companyId"

在这里插入图片描述

2、数据导入:mongoimport
①语法:

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field
参数说明:
	-d :数据库名
	-c :collection名
	--type :导入的格式默认json
	-f :导入的字段名
	--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段
	--file :要导入的文件

②示例

mongoimport -d pms -c product --file product.json --type json
或者
mongoimport -d pms -c product --file product.csv --type csv

二、MongoDB备份与恢复

1、MongoDB数据库备份
①语法

mongodump -h dbhost -d dbname -o dbdirectory
参数说明:
	-h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
	-d: 需要备份的数据库实例,例如:pms
    -u :MongDB数据库的用户名
    -p :MongDB数据库的密码
	-o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

②实例

mongodump -h 127.0.0.1:27017 -d pms -o /home/mongodump/

2、MongoDB数据库恢复
①语法

mongorestore -h dbhost -d dbname --dir dbdirectory

参数说明:
	-h: MongoDB所在服务器地址
	-d: 需要恢复的数据库实例,例如:pms,当然这个名称也可以和备份时候的不一样,比如pms2
	--dir: 备份数据所在位置,例如:/home/mongodump/pms/
	--drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

②实例

mongorestore -h 127.0.0.1:27017 -d pms_restore --dir /home/mongodump/pms/

三、客户端连接MongoDB数据库

1、java程序和MongoDB连接

spring:
  data:
    mongodb:
      database: 要连接的数据库名
      uri: mongodb://用户名:密码@服务器地址/数据名称    #有用户名和密码
      uri: mongodb://服务器地址/数据名称               #无用户名和密码

2、python程序和MongoDB连接
①安装客户端模块pymongo

pip install pymongo

②连接代码

#有密码
from pymongo import MongoClient
mongo = pymongo.MongoClient('mongodb://服务器地址').database
mongo.authenticate('username',password='password')

datas = mongo.table.find()    #也可以这样写 datas = mongo[table].find()
for data in datas:
    # print(data.keys())
    print(data['name'])

#无密码
from pymongo import MongoClient
mongo = MongoClient('mongodb://192.168.16.191').pms
datas = mongo.product.find()
# print(datas)
for data in datas:
    # print(data.keys())
    print(data['name'])

3、Linux服务器和MongoDB连接

#没有密码
mongo --host 服务器地址 --port 端口  数据名
mongo mongodb://服务器地址/数据名

#有密码
mongo --host 服务器地址 -u 用户名 -p --authenticationDatabase 数据名   #这样连接的时候会让输入密码
mongo mongodb://用户名:密码@服务器地址/数据名

猜你喜欢

转载自blog.csdn.net/m0_37886429/article/details/88419430