Mongo导出mongoexport和导入mongoimport介绍

怎甘沉沦 提交于 2019-12-25 18:18:17

一、导出工具mongoexport 简介,通过帮助先了解下mongoexport的功能参数

mongoexport --help
Usage:
  mongoexport <options>

Export data from MongoDB in CSV or JSON format.

See http://docs.mongodb.org/manual/reference/program/mongoexport/ for more information.

general options:
      --help                     print usage
      --version                  print the tool version and exit

verbosity options:
  -v, --verbose                  more detailed log output (include multiple times for more verbosity, e.g. -vvvvv)
      --quiet                    hide all log output

connection options:
  -h, --host=                    mongodb host to connect to (setname/host1,host2 for replica sets)
      --port=                    server port (can also use --host hostname:port)

authentication options:
  -u, --username=                username for authentication
  -p, --password=                password for authentication
      --authenticationDatabase=  database that holds the user's credentials
      --authenticationMechanism= authentication mechanism to use

namespace options:
  -d, --db=                      database to use
  -c, --collection=              collection to use

output options:
  -f, --fields=                  comma separated list of field names (required for exporting CSV) e.g. -f "name,age"
      --fieldFile=               file with field names - 1 per line
      --type=                    the output format, either json or csv (defaults to 'json')
  -o, --out=                     output file; if not specified, stdout is used
      --jsonArray                output to a JSON array rather than one object per line
      --pretty                   output JSON formatted to be human-readable

querying options:
  -q, --query=                   query filter, as a JSON string, e.g., '{x:{$gt:1}}'
  -k, --slaveOk                  allow secondary reads if available (default true)
      --forceTableScan           force a table scan (do not use $snapshot)
      --skip=                    number of documents to skip
      --limit=                   limit the number of documents to export
      --sort=                    sort order, as a JSON string, e.g. '{x:1}'

关键参数说明:

  • -h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
  • --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
  • -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
  • -p,--password:代表连接数据库的账号对应的密码;
  • -d,--db:代表连接的数据库;
  • -c,--collection:代表连接数据库中的集合;
  • -f, --fields:代表集合中的字段,可以根据设置选择导出的字段;
  • --type:代表导出输出的文件类型,包括csv和json文件;
  • -o, --out:代表导出的文件名;
  • -q, --query:代表查询条件;
  •  --skip:跳过指定数量的数据;
  • --limit:读取指定数量的数据记录;
  • --sort:对数据进行排序,可以通过参数指定排序的字段,并使用 1 和 -1 来指定排序的方式,其中 1 为升序排列,而-1是用于降序排列,如sort({KEY:1})。

注意:

  当查询时同时使用sort,skip,limit,无论位置先后,最先执行顺序 sort再skip再limit。

实例: 

mongoexport  --authenticationDatabase=admin -h 127.0.0.1:28001 -u "user" -p "password" -d dbname  -c keyword  -o /opt/keyword.json --type json   -f 字段1,字段2,字段3,字段4

二 、附带liunx scp参考

scp -p 文件path     "host":/opt/    # 前是本机  后边是传送给谁的机器 

三、导入工具mongoimport 简介,通过帮助先了解下mongoimport的功能参数

mongoimport --help
Usage:
  mongoimport <options> <file>

Import CSV, TSV or JSON data into MongoDB. If no file is provided, mongoimport reads from stdin.

See http://docs.mongodb.org/manual/reference/program/mongoimport/ for more information.

general options:
      --help                     print usage
      --version                  print the tool version and exit

verbosity options:
  -v, --verbose                  more detailed log output (include multiple times for more verbosity, e.g. -vvvvv)
      --quiet                    hide all log output

connection options:
  -h, --host=                    mongodb host to connect to (setname/host1,host2 for replica sets)
      --port=                    server port (can also use --host hostname:port)

authentication options:
  -u, --username=                username for authentication
  -p, --password=                password for authentication
      --authenticationDatabase=  database that holds the user's credentials
      --authenticationMechanism= authentication mechanism to use

namespace options:
  -d, --db=                      database to use
  -c, --collection=              collection to use

input options:
  -f, --fields=                  comma separated list of field names, e.g. -f name,age
      --fieldFile=               file with field names - 1 per line
      --file=                    file to import from; if not specified, stdin is used
      --headerline               use first line in input source as the field list (CSV and TSV only)
      --jsonArray                treat input source as a JSON array
      --type=                    input format to import: json, csv, or tsv (defaults to 'json')

ingest options:
      --drop                     drop collection before inserting documents
      --ignoreBlanks             ignore fields with empty values in CSV and TSV
      --maintainInsertionOrder   insert documents in the order of their appearance in the input source
  -j, --numInsertionWorkers=     number of insert operations to run concurrently (defaults to 1)
      --stopOnError              stop importing at first insert/upsert error
      --upsert                   insert or update objects that already exist
      --upsertFields=            comma-separated fields for the query part of the upsert
      --writeConcern=            write concern options e.g. --writeConcern majority, --writeConcern '{w: 3, wtimeout: 500, fsync: true, j: true}' (defaults to 'majority')

关键参数说明:

  • h,--host :代表远程连接的数据库地址,默认连接本地Mongo数据库;
  • --port:代表远程连接的数据库的端口,默认连接的远程端口27017;
  • -u,--username:代表连接远程数据库的账号,如果设置数据库的认证,需要指定用户账号;
  • -p,--password:代表连接数据库的账号对应的密码;
  • -d,--db:代表连接的数据库;
  • -c,--collection:代表连接数据库中的集合;
  • -f, --fields:代表导入集合中的字段;
  • --type:代表导入的文件类型,包括csv和json,tsv文件,默认json格式;
  • --file:导入的文件名称
  • --headerline:导入csv文件时,指明第一行是列名,不需要导入;

实例演示:

mongoimport  --authenticationDatabase=admin -h 127.0.0.1:28001 -u "user" -p "password" -d dbname-c keyword   --upsert  --drop /opt/keyword.json 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!