如何将mongodb查询结果如何导出、导入

如何将mongodb查询结果如何导出、导入

–导出数据
步骤一、将查询的结果生成一张临时表

use test
var result = db.CcDownloadrd.find({$or:[{"userId" : "USER20190417010001593518"},{"userId" : "USER20191015010000000993"},{"userId" : "USER20190417010001010672"},{"userId" : "USER20190710010000000428"},{"userId" : "USER20190417010001728545"},{"userId" : "USER20190518010000001107"},{"userId" : "USER20190712010000002259"}]})

while(result.hasNext()) {
db.tempCcDownloadrd.insert(result.next());
}

步骤二、使用csv类型导出结果

#  -f  字段名称:必须填写
mongoexport -h 192.168.40.132 -d test --port 10011 --username root --type=csv --password *** --collection tempCcDownloadrd  -f _id,userId,oursewareId,downloadrdIp	,downloadrdDevice,downloadrdDevicename,downloadrdDevicesystem,downloadrdDeviceversion,downloadrdCreateddate	,coursewareSourceId	,userSourceid --out /opt/1.csv --authenticationDatabase admin


注:
--导出中文乱码,导出编码为utf-8
EXCEL打开的CSV文件默认是ANSI编码,如果CSV文件的编码方式为utf-8、Unicode等编码可能就会出现文件乱码的情况,
如果要导入到集合中,不要修改编码。
--如果集合中有中文,导出时可以使用navicat工具,导出编码为《简体中文GBK》,这样excel打开cvs不会乱码

–导入数据

mongoimport  -h 192.168.40.132 --port 10011 --username root  --password *** -d test  --collection CcDownloadrd --type csv --headerline --ignoreBlanks --file /opt/1.csv --authenticationDatabase admin

或
mongoimport  -h 172.31.129.91 --port 10011 --username root  --password *** -d coursecentertest  --collection CcPlayrd  --type csv --headerline --ignoreBlanks --file /data/backup/1.csv  --authenticationDatabase admin --numInsertionWorkers 20  

--db test:需要将数据导入到哪个数据库,这里以networ1数据库为例; 
--collection CcDownloadrd:将数据导入的 collection 名,这里以networkmanagement为例,如果这个networkmanagement之前是不存在的,则会自动创建一个。如果省略--collection networkmanagement这个参数,那么会自动新建一个以 CSV 文件名为名的 collection。 
--type csv:     文件类型,这里是 csv; 
--headerline:   这个参数很重要,加上这个参数后创建完成后的内容会以 CSV 第一行的内容为字段名; 
--ignoreBlanks: 这个参数可以忽略掉 CSV 文件中的空缺值; 
--file /opt/1.csv:这里就是 csv 文件的路径了。
--numInsertionWorkers  线程数量
--batchSize 块大小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值