连接并认证数据库

  1. mongo mongodb://username:password@localhost:27018/dbname
  2. # or
  3. mongo localhost:27018/dbname -u username -p password
  4. # or
  5. mongo --port 27018 dbname -u username -p password

导入数据(mongoimport

认证

  1. uri="mongodb://username:password@host:port/dbname"
  2. mongoimport --uri=$uri -c colname --file data.jl
  3. # or
  4. mongoimport --host host --port port -d dbname -u username -p password -c colname --file data.jl

导入jsonlines(默认)

  1. mongoimport -d dbname -c colname --file data.jl

导入tsv

  1. mongoimport -d dbname -c colname --type tsv --file data.tsv

第一行作为表头

  1. mongoimport -d dbname -c colname --type tsv --file data.tsv --headerline

手动指定表头

  1. mongoimport -d dbname -c colname --type tsv --file data.tsv \
  2. --fields chrom,pos,ref,alt,freq

指定字段数据类型

  1. mongoimport -d dbname -c colname --type tsv --file data.tsv \
  2. --fields 'chrom.string(),pos.int32,ref.string(),alt.string(),freq.double()' \
  3. --columnsHaveTypes

支持的类型:auto, binary, bool, date, date_go, date_ms, date_oracle, double, int32, int64, string

导入模式 —mode + —upsertFields

  • insert - 作为新的记录导入
  • upsert - key不存在时插入,存在时更新
  • merge - 按key合并

    使用—upsertFields会先查询再插入,速度较慢,key最好先建立索引

  1. mongoimport \
  2. -d dbname \
  3. -c colname \
  4. --file data.jl \
  5. --mode merge \
  6. --upsertFields chrom,pos,ref,alt