MongoDB 导入与导出

来源:互联网 发布:网络机顶盒系统崩溃了 编辑:程序博客网 时间:2024/06/05 01:43
mongodb自带导入导出命令:mongoexport和mongoimport
一、mongoexport
命令参数:
./bin/mongoexport --helpExport 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 --helpImport 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.jsonOptions:  --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
原创粉丝点击