mongoDB导入导出(对比csv和json两种格式,请选择js
2019-08-08 本文已影响0人
天草二十六_简村人
背景
涉及导入导出的操作,除了命令参数外,就是需要注意文本的格式了。
本文主要是侧重讲述文本格式需要注意的事项。
对比csv和json两种格式,请选择json格式。虽然csv格式也很强大,但是在这里,bug会很多。。。
一、导入
1、导入csv文本到本地mongoDB数据库
~$ mongoimport --db xh_tag --collection questionTagLib --type csv --headerline --ignoreBlanks --file /home/data/20190807.csv
2019-08-07T16:56:57.054+0800 connected to: localhost
2019-08-07T16:56:57.092+0800 imported 199 documents
这里数据库名为xh_tag, 集合名称为questionTagLib。
--headerline 会把头部的名称自动作为字段。
2、导入csv文本到远程mongoDB数据库
~$ mongoimport -h 192.168.5.52 --port 50000 --db xh_tag --collection questionTagLib --type csv --headerline --ignoreBlanks --file /home/data/20190807.csv
2019-08-07T17:13:56.263+0800 connected to: 192.168.5.52:50000
2019-08-07T17:13:56.472+0800 imported 199 documents
3、导入json文本到本地mongoDB数据库
mongoimport --db xh_tag --collection questionTagLib --type json --file /home/data/test.json
4、导入json文本到远程mongoDB数据库
mongoimport -h 192.168.5.52 --port 50000 --db xh_tag --collection questionTagLib --type json --file /home/data/test.json
mongoDB显示导入json文本的内容.png
二、导出
1、导出到csv文本
$ mongoexport --csv -f _id,subjectId,gradeId,libTags -d xh_tag -c questionTagLib -o ./test.csv
2019-08-07T15:43:07.460+0800 csv flag is deprecated; please use --type=csv instead
2019-08-07T15:43:07.465+0800 connected to: localhost
2019-08-07T15:43:07.465+0800 exported 1 record
_id,subjectId,gradeId,libTags
ObjectId(59a4fc40e6279517d0365574),2,71,"[""5ab88b13363d78258a802006"",""5ab88b10363d78258a802005"",""5ab09a24363d780677de8214"",""5ab1cbd4363d780677ded80d"",""5ab1cbea363d780677ded80e""]"
2、导出到json文本
~$ mongoexport -d xh_tag -c questionTagLib -o ./test.json
2019-08-07T15:37:13.037+0800 connected to: localhost
2019-08-07T15:37:13.047+0800 exported 1 record
{
"_id":{
"$oid":"5cb58a34ce52e5319b99dac3"
},
"subjectId":2,
"gradeId":0,
"libTags":[
"5ab88b13363d78258a802006",
"5ab88b10363d78258a802005",
"5ab09a24363d780677de8214",
"5ab1cbd4363d780677ded80d",
"5ab1cbea363d780677ded80e"
],
"deleted":0,
"userIdList":[
],
"createTime":{
"$numberLong":"1564968594781"
},
"createUserId":{
"$numberLong":"-1"
},
"modifyTime":{
"$numberLong":"1565007575730"
},
"modifyUserId":{
"$numberLong":"1990"
},
"_class":"com.xxx.domain.model.QuestionTagLib"
}
三、新增字段
// db.getCollection('questionTagSource').update({deleted:null},{$inc:{deleted:NumberInt(0)}}, false, true);
// db.getCollection('questionTagSource').update({createTime:null},{$inc:{createTime:NumberLong(1565586490)}}, false, true);
// db.getCollection('questionTagSource').update({createUserId:null},{$inc:{createUserId:NumberLong(-1)}}, false, true);
// db.getCollection('questionTagSource').update({modifyTime:null},{$inc:{modifyTime:NumberLong(1565586490)}}, false, true);
// db.getCollection('questionTagSource').update({modifyUserId:null},{$inc:{modifyUserId:NumberLong(-1)}}, false, true);
// db.getCollection('questionTagSource').update({_class:null},{$set:{_class:"com.xxx.domain.model.QuestionTagSource"}}, false, true);