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 会把头部的名称自动作为字段。

mongodb显示导入后的内容.png

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);

上一篇下一篇

猜你喜欢

热点阅读