zoukankan      html  css  js  c++  java
  • MongoDB导入导出和踩过的坑

    从网上一搜,基本大概都是这样的

    导出:mongoexport --port 29050 -u zdha -p zdha1234 -d meerkat320 -c person --type=json -o /opt/roman/235-meerkat320-person.json
    
    导入:mongoimport --port 27017 -u zdha -p zdha1234 -d meerkat-min -c person-320 --type=json --file /opt/roman/235-meerkat320-person.json

    直接试了上面的导入语句,报错:bash: mongoexport: command not found...

    Q:bash: mongoexport: command not found...
    A:如果你正在使用git bash,请使用以下命令
    $ ./mongo

    调整后,在241上测试导出:

    ./mongo mongoexport --port 27017 -u zdha -p zdha1234 -d meerkat-min -c car --type=json -o /opt/roman/235-meerkat320-car.json

    以上语句存在的错误:
    (1)mongo命令敲的不对
    (2)默认是连本地,笔者而言就是192.168.89.9
    所以修改过之后的就是:

    ./mongoexport -h 192.168.31.241 -port 27017 -u zdha -p zdha1234 -d meerkat-min -c car --type=json -o /opt/roman/235-meerkat320-car.json

    too many positional arguments: [27017]

    再调整:

    ./mongoexport -h 192.168.31.241:27017 -u zdha -p zdha1234 -d meerkat-min -c car --type=json -o /opt/roman/235-meerkat320-car.json

    error connecting to db server: server returned error on SASL authentication step: Authentication failed.

    最终调整,并成功了的命令(在241上执行的):

    ./mongoexport -h 192.168.31.241:27017 -u zdha -p zdha1234 --authenticationDatabase admin -d meerkat-min -c car --type=json -o /opt/roman/235-meerkat320-car.json

    =================== 终于导出的好了=================

    现在开始切换到测试的库去,继续在241上执行导出单表命令:

    ./mongoexport -h 192.168.31.235:29050 -u zdha -p zdha1234 --authenticationDatabase admin -d meerkat320 -c car --type=json -o /opt/roman/235-meerkat320-car.json

    2021-05-25T15:57:06.046+0800 exported 78 records

    下面开始准备吧测试环境导出的数据导入到开发环境:

    ./mongoimport -h 192.168.31.241:27017 -u zdha -p zdha1234 --authenticationDatabase admin -d meerkat-min -c car --type=json -o /opt/roman/235-meerkat320-car.json

    error parsing command line options: unknown option "o"

    导入语句指定的导入文件路径,不能用 -o,而是直接跟着后面,如下:

    ./mongoimport -h 192.168.31.241:27017 -u zdha -p zdha1234 --authenticationDatabase admin -d meerkat-min -c car --type=json /opt/roman/235-meerkat320-car.json

    2021-05-25T16:06:02.507+0800 imported 78 documents

    可以看到已经导入成功了,如果立马又重复执行一遍导入语句,会报错,如下:
    - E11000 duplicate key error collection: meerkat-min.car index: _id_ dup key: { : "a47bcde57508d073bbc5c9189bd1fafe" }

    可以对导入语句做下优化,加上--upsert

    ./mongoimport -h 192.168.31.241:27017 -u zdha -p zdha1234 --authenticationDatabase admin -d meerkat-min -c car --type=json /opt/roman/235-meerkat320-car.json --upsert

    单表的成功了,现在改成全库的,由于全库的就是“备份”的概念了,要使用./mongodump命令

    导出:

    ./mongodump -h 192.168.31.235:29050 -u zdha -p zdha1234 --authenticationDatabase admin -d meerkat320 -o /opt/roman/235-meerkat320/

    导入:

    ./mongorestore -h 192.168.31.241:27017 -u zdha -p zdha1234 --authenticationDatabase admin -d meerkat-min /opt/roman/235-meerkat320/meerkat320/
  • 相关阅读:
    file & iconv
    UML类图思考
    Rust PhantomData and dropck rgb
    golang recover rgb
    帮上小学的女儿写的一篇文章春夏秋冬
    SAP B1在添加物料主数据时,出现错误提示‘xxxx代码已存在’的解决方法
    SAP B1外协物料处理方法
    SAP B1外发加工件成本的处理方法(曹玉平于奥莱照明)
    SAP B1存在的BUG
    交叉表的实殃及向SQL SERVER数据库中插入数据时,出现乱码或???(问号)的解决方法。
  • 原文地址:https://www.cnblogs.com/zz-3m23d-begining/p/14813245.html
Copyright © 2011-2022 走看看