zoukankan      html  css  js  c++  java
  • MongoDB的导入导出(7)

    导入/导出可以操作的是本地的mongodb服务器,也可以是远程的.

    所以,都有如下通用选项:

    -h host   主机

    --port port    端口

    -u username 用户名

    -p passwd   密码

    mongoexport 导出json格式的文件

    问: 导出哪个库,哪张表,哪几列,哪几行?

     -d  库名

    -c  表名

    -f  field1,field2...列名

    -q  查询条件

    -o  导出的文件名

    -- csv  导出csv格式(便于和传统数据库交换数据)

    例:

    [root@localhost mongodb]# ./bin/mongoexport -d test -c news -o test.json

    connected to: 127.0.0.1

    exported 3 records

    [root@localhost mongodb]# ls

    bin  dump  GNU-AGPL-3.0  README  test.json  THIRD-PARTY-NOTICES

    [root@localhost mongodb]# more test.json

    { "_id" : { "$oid" : "51fc59c9fecc28d8316cfc03" }, "title" : "aaaa" }

    { "_id" : { "$oid" : "51fcaa3c5eed52c903a91837" }, "title" : "today is sataday" }

    { "_id" : { "$oid" : "51fcaa445eed52c903a91838" }, "title" : "ok now" }

    例2: 只导出goods_id,goods_name列

    ./bin/mongoexport -d test -c goods -f goods_id,goods_name -o goods.json

    例3: 只导出价格低于1000元的行

    ./bin/mongoexport -d test -c goods -f goods_id,goods_name,shop_price -q ‘{shop_price:{$lt:200}}’ -o goods.json

    注: _id列总是导出

    mongoimport 导入

    -d 待导入的数据库

    -c 待导入的表(不存在会自己创建)

    --type  csv/json(默认)

    --file 备份文件路径

    例1: 导入json

    ./bin/mongoimport -d test -c goods --file ./goodsall.json

    例2: 导入csv

    ./bin/mongoimport -d test -c goods --type csv -f goods_id,goods_name --file ./goodsall.csv

    ./bin/mongoimport -d test -c goods --type csv --headline -f goods_id,goods_name --file ./goodsall.csv

    mongodump 导出二进制bson结构的数据及其索引信息

    -d  库名

    -c  表名

    -f  field1,field2...列名

    例:

    mongodump -d test  [-c 表名]  --out 导出路径

    规律:

    1:导出的文件放在以database命名的目录下

    2: 每个表导出2个文件,分别是bson结构的数据文件(比如:goods.bson), json的索引信息(比如:goods.metadata.json)

    3: 如果不声明表名, 导出所有的表

    例如:mongodump -d test --out C:UsersyuxlDesktopmongodbmongodmongodumptest

    mongorestore 导入二进制文件

    例:

     ./bin/mongorestore -d test --dir 路径

    例如:mongorestore -d test --dir C:UsersyuxlDesktopmongodbmongodumptest est

    二进制备份,不仅可以备份数据,还可以备份索引,

    备份数据比较小.

  • 相关阅读:
    OK335x mksd.sh hacking
    Qt jsoncpp 对象拷贝、删除、函数调用 demo
    OK335xS 256M 512M nand flash make ubifs hacking
    Qt QScrollArea and layout in code
    JsonCpp Documentation
    Qt 4.8.5 jsoncpp lib
    Oracle数据库生成UUID
    freemarker得到数组的长度
    FreeMarker中if标签内的判断条件
    freemarker语法
  • 原文地址:https://www.cnblogs.com/yxlblogs/p/4952057.html
Copyright © 2011-2022 走看看