mongodb 导入命令 mongodbimport使用

1.mongodbimport命令使用

1.1基本使用

该情况需要在csv中加上列名称 问题是没有指定数据类型默认都是字符串

mongoimport.exe --host 127.0.0.1:50000 -d xueba -c test1 --file D:\Develop\MongoDB\TXB_20201117_13000.csv --type json --headerline

关键参数说明:

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

1.2指定csv列数据类型

相关参数

–fields=<field1[,field2]>, -f=<field1[,field2]>
Specify a comma separated list of field names when importing csv or tsv files that do not have field names in the first (i.e. header) line of the file.
To also specify the field type as well as the field name, use --fields with --columnsHaveTypes.
If you attempt to include --fields when importing JSON data, mongoimport will return an error. --fields is only for csv or tsv imports.
–fieldFile=
As an alternative to --fields, the --fieldFile option allows you to specify a file that holds a list of field names if your csv or tsv file does not include field names in the first line of the file (i.e. header). Place one field per line.
To also specify the field type as well as the field name, use --fieldFile with --columnsHaveTypes.
If you attempt to include --fieldFile when importing JSON data, mongoimport will return an error. --fieldFile is only for csv or tsv imports.

大致翻译下:
–fields=<field1[,field2]>, -f=<field1[,field2]>
当导入csv或tsv文件时,如果文件的首行(即头行)没有字段名称,请指定一个逗号分隔的字段名称列表。
要指定字段类型以及字段名称,请使用——fields with——columnsHaveTypes。
如果您在导入JSON数据时尝试包含——字段,mongoimport将返回一个错误。——字段仅用于导入csv或tsv。
–fieldFile=
如果csv或tsv文件的第一行没有包含字段名(即头文件),那么——fieldFile选项允许您指定一个包含字段名列表的文件。每行放置一个字段。
要指定字段类型以及字段名称,请使用——fieldFile with——columnsHaveTypes。
如果您在导入JSON数据时尝试包含——fieldFile, mongoimport将返回一个错误。—fieldFile仅用于导入csv或tsv。

根据上述介绍进行优化 以下是官方例子

Katherine Gray, 1996-02-03, false, 1235, TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdCwgc2VkIGRvIGVpdXNtb2QgdGVtcG9yIGluY2lkaWR1bnQgdXQgbGFib3JlIGV0IGRvbG9yZSBtYWduYSBhbGlxdWEuIFV0IGVuaW0gYWQgbWluaW0gdmVuaWFtLCBxdWlzIG5vc3RydWQgZXhlcmNpdGF0aW9uIHVsbGFtY28gbGFib3JpcyBuaXNpIHV0IGFsaXF1aXAgZXggZWEgY29tbW9kbyBjb25zZXF1YXQuIER1aXMgYXV0ZSBpcnVyZSBkb2xvciBpbiByZXByZWhlbmRlcml0IGluIHZvbHVwdGF0ZSB2ZWxpdCBlc3NlIGNpbGx1bSBkb2xvcmUgZXUgZnVnaWF0IG51bGxhIHBhcmlhdHVyLiBFeGNlcHRldXIgc2ludCBvY2NhZWNhdCBjdXBpZGF0YXQgbm9uIHByb2lkZW50LCBzdW50IGluIGN1bHBhIHF1aSBvZmZpY2lhIGRlc2VydW50IG1vbGxpdCBhbmltIGlkIGVzdCBsYWJvcnVtLg==
Albert Gilbert, 1992-04-24, true, 13, Q3VwY2FrZSBpcHN1bSBkb2xvciBzaXQgYW1ldCB0b290c2llIHJvbGwgYm9uYm9uIHRvZmZlZS4gQ2FuZHkgY2FuZXMgcGllIGNyb2lzc2FudCBjaG9jb2xhdGUgYmFyIGxvbGxpcG9wIGJlYXIgY2xhdyBtYWNhcm9vbi4gU3dlZXQgcm9sbCBjdXBjYWtlIGNoZWVzZWNha2Ugc291ZmZsw6kgYnJvd25pZSBpY2UgY3JlYW0uIEp1anViZXMgY2FrZSBjdXBjYWtlIG1hY2Fyb29uIGRhbmlzaCBqZWxseS1vIHNvdWZmbMOpLiBDYWtlIGFwcGxlIHBpZSBnaW5nZXJicmVhZCBjaG9jb2xhdGUgc3VnYXIgcGx1bS4gU3dlZXQgY2hvY29sYXRlIGNha2UgY2hvY29sYXRlIGNha2UganVqdWJlcyB0aXJhbWlzdSBvYXQgY2FrZS4gU3dlZXQgc291ZmZsw6kgY2hvY29sYXRlLiBMaXF1b3JpY2UgY290dG9uIGNhbmR5IGNob2NvbGF0ZSBtYXJzaG1hbGxvdy4gSmVsbHkgY29va2llIGNha2UgamVsbHkgYm==

mongoimport --db=users --collection=contacts --type=csv  --columnsHaveTypes 
   --fields="name.string(),birthdate.date(2006-01-02),contacted.boolean(),followerCount.int32(),thumbnail.binary(base64)"  
   --file=/example/file.csv 

在这里插入图片描述

问题

csv 格式的时间戳转换为NumberLong格式失败 暂时没解决
todo

参考链接

官方文档exportimport
Mongo导出mongoexport和导入mongoimport介绍
官方–fields文档
type类型官方文档

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值