连接并认证数据库
mongo mongodb://username:password@localhost:27018/dbname
# or
mongo localhost:27018/dbname -u username -p password
# or
mongo --port 27018 dbname -u username -p password
导入数据(mongoimport
)
认证
uri="mongodb://username:password@host:port/dbname"
mongoimport --uri=$uri -c colname --file data.jl
# or
mongoimport --host host --port port -d dbname -u username -p password -c colname --file data.jl
导入jsonlines(默认)
mongoimport -d dbname -c colname --file data.jl
导入tsv
mongoimport -d dbname -c colname --type tsv --file data.tsv
第一行作为表头
mongoimport -d dbname -c colname --type tsv --file data.tsv --headerline
手动指定表头
mongoimport -d dbname -c colname --type tsv --file data.tsv \
--fields chrom,pos,ref,alt,freq
指定字段数据类型
mongoimport -d dbname -c colname --type tsv --file data.tsv \
--fields 'chrom.string(),pos.int32,ref.string(),alt.string(),freq.double()' \
--columnsHaveTypes
支持的类型:auto, binary, bool, date, date_go, date_ms, date_oracle, double, int32, int64, string
导入模式 —mode + —upsertFields
- insert - 作为新的记录导入
- upsert - key不存在时插入,存在时更新
- merge - 按key合并
使用—upsertFields会先查询再插入,速度较慢,key最好先建立索引
mongoimport \
-d dbname \
-c colname \
--file data.jl \
--mode merge \
--upsertFields chrom,pos,ref,alt