MongoDB 导入与导出

mongodb自带导入导出命令:mongoexport和mongoimport
一、mongoexport
命令参数:
./bin/mongoexport --help
Export MongoDB data to CSV, TSV or JSON files.
Options:
  --help produce help message
  -v [ --verbose ] be more verbose (include multiple times
                                        for more verbosity e.g. -vvvvv)
  --quiet silence all non error diagnostic
                                        messages
  --version print the program's version and exit
  -h [ --host ] arg mongo host to connect to ( <set
                                        name>/s1,s2 for sets)
  --port arg server port. Can also use --host
                                        hostname:port
  --ipv6 enable IPv6 support (disabled by
                                        default)
  -u [ --username ] arg username
  -p [ --password ] arg password
  --authenticationDatabase arg user source (defaults to dbname)
  --authenticationMechanism arg (=MONGODB-CR)
                                        authentication mechanism
  --gssapiServiceName arg (=mongodb) Service name to use when authenticating
                                        using GSSAPI/Kerberos
  --gssapiHostName arg Remote host name to use for purpose of
                                        GSSAPI/Kerberos authentication
  --dbpath arg directly access mongod database files
                                        in the given path, instead of
                                        connecting to a mongod server - needs
                                        to lock the data directory, so cannot
                                        be used if a mongod is currently
                                        accessing the same path
  --directoryperdb each db is in a separate directory
                                        (relevant only if dbpath specified)
  --journal enable journaling (relevant only if
                                        dbpath specified)
  -d [ --db ] arg database to use
  -c [ --collection ] arg collection to use (some commands)
  -f [ --fields ] arg comma separated list of field names
                                        e.g. -f name,age
  --fieldFile arg file with field names - 1 per line
  -q [ --query ] arg query filter, as a JSON string, e.g.,
                                        '{x:{$gt:1}}'
  --csv export to csv instead of json
  -o [ --out ] arg output file; if not specified, stdout
                                        is used
  --jsonArray output to a json array rather than one
                                        object per line
  -k [ --slaveOk ] arg (=1) use secondaries for export if
                                        available, default true
  --forceTableScan force a table scan (do not use
                                        $snapshot)
  --skip arg (=0) documents to skip, default 0
  --limit arg (=0) limit the numbers of documents
                                        returned, default all
  --sort arg sort order, as a JSON string, e.g.,
                                        '{x:1}'
1.采用格式
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名
-f 导出指字段,以字号分割,-f name,email,age导出name,email,age这三个字段
-q 可以根查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的数据
--csv 表示导出的文件格式为csv的,这个比较有用,因为大部分的关系型数据库都是支持csv,在这里有共同点
实例:
导出整张表
mongoexport -d test -c users -o ./users.dat
导出表中部分字段
mongoexport -d test -c users --csv -f uid,name,sex -o ./users.csv
根据条件查询数据
mongoexport -d test -c users -q '{uid:{$gt:1}}' -o ./users.json
二、mongoimport
命令参数:
 ./bin/mongoimport --help
Import CSV, TSV or JSON data into MongoDB.
When importing JSON documents, each document must be a separate line of the input file.
Example:
  mongoimport --host myhost --db my_cms --collection docs < mydocfile.json
Options:
  --help produce help message
  -v [ --verbose ] be more verbose (include multiple times
                                        for more verbosity e.g. -vvvvv)
  --quiet silence all non error diagnostic
                                        messages
  --version print the program's version and exit
  -h [ --host ] arg mongo host to connect to ( <set
                                        name>/s1,s2 for sets)
  --port arg server port. Can also use --host
                                        hostname:port
  --ipv6 enable IPv6 support (disabled by
                                        default)
  -u [ --username ] arg username
  -p [ --password ] arg password
  --authenticationDatabase arg user source (defaults to dbname)
  --authenticationMechanism arg (=MONGODB-CR)
                                        authentication mechanism
  --gssapiServiceName arg (=mongodb) Service name to use when authenticating
                                        using GSSAPI/Kerberos
  --gssapiHostName arg Remote host name to use for purpose of
                                        GSSAPI/Kerberos authentication
  --dbpath arg directly access mongod database files
                                        in the given path, instead of
                                        connecting to a mongod server - needs
                                        to lock the data directory, so cannot
                                        be used if a mongod is currently
                                        accessing the same path
  --directoryperdb each db is in a separate directory
                                        (relevant only if dbpath specified)
  --journal enable journaling (relevant only if
                                        dbpath specified)
  -d [ --db ] arg database to use
  -c [ --collection ] arg collection to use (some commands)
  -f [ --fields ] arg comma separated list of field names
                                        e.g. -f name,age
  --fieldFile arg file with field names - 1 per line
  --ignoreBlanks if given, empty fields in csv and tsv
                                        will be ignored
  --type arg type of file to import. default: json
                                        (json,csv,tsv)
  --file arg file to import from; if not specified
                                        stdin is used
  --drop drop collection first
  --headerline first line in input file is a header
                                        (CSV and TSV only)
  --upsert insert or update objects that already
                                        exist
  --upsertFields arg comma-separated fields for the query
                                        part of the upsert. You should make
                                        sure this is indexed
  --stopOnError stop importing at first error rather
                                        than continuing
  --jsonArray load a json array, not one item per
                                        line. Currently limited to 16MB.
1.采用格式
还原整表导出的非csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名
--upsert 插入或者更新现有数据
还原部分字段的导出文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsertFields 字段 --drop 文件名
--upsertFields根--upsert一样
还原导出的csv文件
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --type 类型 --headerline --upsert --drop 文件名
2.实例
还原导出的表数据
mongoimport -d test -c users --upsert ./users.dat
部分字段的表数据导入
mongoimport -d test -c users --upsertFields uid,name,sex ./users.dat
还原csv文件

mongoimport -d test -c users --type csv --headerline --file ./users.csv


参考:http://blog.csdn.net/u013339851/article/details/23781593
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值