美文网首页
mongoDB导入导出(对比csv和json两种格式,请选择js

mongoDB导入导出(对比csv和json两种格式,请选择js

作者: 天草二十六_简村人 | 来源:发表于2019-08-08 13:24 被阅读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);
    
    

    相关文章

      网友评论

          本文标题:mongoDB导入导出(对比csv和json两种格式,请选择js

          本文链接:https://www.haomeiwen.com/subject/gtdadctx.html