mongoimport

 

 

 

 

[work@c3-dba-cloud-cc01 tmp]$ ../mongodb/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=<level>                           more detailed log output (include multiple times for more verbosity, e.g. -vvvvv, or specify a
                                                  numeric value, e.g. --verbose=N)
      --quiet                                     hide all log output

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

kerberos options:
      --gssapiServiceName=<service-name>          service name to use when authenticating using GSSAPI/Kerberos ('mongodb' by default)
      --gssapiHostName=<host-name>                hostname to use when authenticating using GSSAPI/Kerberos (remote server's address by default)

ssl options:
      --ssl                                       connect to a mongod or mongos that has ssl enabled
      --sslCAFile=<filename>                      the .pem file containing the root certificate chain from the certificate authority
      --sslPEMKeyFile=<filename>                  the .pem file containing the certificate and key
      --sslPEMKeyPassword=<password>              the password to decrypt the sslPEMKeyFile, if necessary
      --sslCRLFile=<filename>                     the .pem file containing the certificate revocation list
      --sslAllowInvalidCertificates               bypass the validation for server certificates
      --sslAllowInvalidHostnames                  bypass the validation for server name
      --sslFIPSMode                               use FIPS mode of the installed openssl library

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

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

uri options:
      --uri=mongodb-uri                           mongodb uri connection string

input options:
  -f, --fields=<field>[,<field>]*                 comma separated list of fields, e.g. -f name,age
      --fieldFile=<filename>                      file with field names - 1 per line
      --file=<filename>                           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
      --parseGrace=<grace>                        controls behavior when type coercion fails - one of: autoCast, skipField, skipRow, stop
                                                  (defaults to 'stop') (default: stop)
      --type=<type>                               input format to import: json, csv, or tsv (defaults to 'json') (default: json)
      --columnsHaveTypes                          indicated that the field list (from --fields, --fieldsFile, or --headerline) specifies types;
                                                  They must be in the form of '<colName>.<type>(<arg>)'. The type can be one of: auto, binary,
                                                  bool, date, date_go, date_ms, date_oracle, double, int32, int64, string. For each of the date
                                                  types, the argument is a datetime layout string. For the binary type, the argument can be one
                                                  of: base32, base64, hex. All other types take an empty argument. Only valid for CSV and TSV
                                                  imports. e.g. zipcode.string(), thumbnail.binary(base64)

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>              number of insert operations to run concurrently (defaults to 1) (default: 1)
      --stopOnError                               stop importing at first insert/upsert error
      --mode=[insert|upsert|merge]                insert: insert only. upsert: insert or replace existing documents. merge: insert or modify
                                                  existing documents. defaults to insert
      --upsertFields=<field>[,<field>]*           comma-separated fields for the query part when --mode is set to upsert or merge
      --writeConcern=<write-concern-specifier>    write concern options e.g. --writeConcern majority, --writeConcern '{w: 3, wtimeout: 500, fsync:
                                                  true, j: true}'
      --bypassDocumentValidation                  bypass document validation

 

 

 

 

 

 

 

导入csv文件:headerline:指明第一行是列名,不需要导入,根据文件第一行判断是否需要加上hedaline

 

一般导入:

mongoimport --username xxx --password yyy --host 10.10.10.10 --port 27017 --authenticationDatabase admin --db=mydb --collection=mytable --type=csv --headerline  --file myfile.cvs

 

先删除再导入:

mongoimport --username xxx --password yyy --host 10.10.10.10 --port 27017 --authenticationDatabase admin --db=mydb --collection=mytable --type=csv --headerline  --drop --file myfile.cvs

 

--upsertFields uid,name,sex 

 

 

 

根据情况确定是否需要先删除原表的数据,如果需要就先删除:

db.table_name.remove( );

 

 

 参数说明:

 

echo "先删除原表数据:--drop" 
echo " 字段为空的不插入:--ignoreBlanks"
echo "部分字段导入:--upsertFields uid,name,sex "

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

###################################################

posted @ 2020-10-30 11:34  igoodful  阅读(827)  评论(0编辑  收藏  举报