1、问题
在公司数据分析同事开发过程中,会用上fo循环上亿次,导致总运行时间很长,其中有取mongodb的collectio中的时间字段,
此时间字段为字符串类型,虽然可以使用,但是将类型换为date(ISODate),程序运行时间大大降低。

2、mongoimport 导入数据库,字段变为date方法如下
要到时间格式,要对原csv中的格式进行转换
原来为:
2020-03-01 12:00:00,'One'
现在变为:
2020-03-01 12:00:00,'One'
导入脚本改为:
mongoimport --port=27120 --db idap_zl --collection test --type csv --columnsHayeType --file testimsi.csv --fields timeneed.date(2020-03-01 00:00:00),name.string()
--columnsHaveTypes¶
New in version 3.4.
Instructs mongoimport that the field list specified in --fields, --fieldFile, or --headerline specifies the types of each field.
Field names must be in the form of <colName>.<type>(<arg>). You must backslash-escape the following characters if you wish to include them in an argument: (, ), and .
| type | Supported Arguments | Example Header Field | 
|---|---|---|
| auto() | None. | misc.auto() | 
| binary(<arg>) | user thumbnail.binary(base64) | |
| boolean() | None. | verified.boolean() | 
| date(<arg>) | Alias for date_go(<arg>). Go Language time.Parse format. | created.date(2006-01-02 15:04:05) | 
| date_go(<arg>) | Go Language time.Parse format | created.date_go(2006-01-02 15:04:05) | 
| date_ms(<arg>) | Microsoft SQL Server FORMAT format | created.date_ms(yyyy-MM-dd H:mm:ss) | 
| date_oracle(<arg>) | Oracle Database TO_DATE format. | created.date_oracle(YYYY-MM-DD HH24:MI:SS) | 
| decimal() | None | price.decimal() | 
| double() | None. | revenue.double() | 
| int32() | None. | followerCount.int32() | 
| int64() | None. | bigNumber.int64() | 
| string() | None. | zipcode.string() |