使用 ISODate 导入 CSV 文件 MongoDB
importing CSV file MongoDB with ISODate
当我从 mongoDB 导出数据时,我获得了以下文件:
mongoDB 中的所有内容都是字符串,除了日期是 ISODate。
123@123.com,sha1:64000:18:BTJnM903gIt5FNlSsZIRx1tLC9ErPJuB:9YVs800sgRPr1aaLj73qqnJ6,123,123,123@123.com,2017-04-28T09:20:07.480Z,cus_AYcVXIUf68nT52
如果我将此文件导入 MongoDB,它会将每个值导入为字符串值。我需要将日期解析为日期格式,其余可以是字符串。
我看到有一个参数用于 MongoImport --columnsHaveTypes。我已经试过了,没有任何结果:
mongoimport -u test-p test --authenticationDatabase test -h localhost:30158 --db test--collection users --type csv --file users.csv --upsert --upsertFields username --fields username.string\(\),password.string\(\),cname.string\(\),sname.string\(\),mail.string\(\),creation.date\(\),validation.auto\(\),clients.string\(\),customer.string\(\) --columnsHaveTypes
我收到这个错误:
Failed: type coercion failure in document #0 for column 'creation', could not parse token '2017-04-28T09:20:07.480Z' to type date
我能做什么?
亲切的问候。
摘要:您需要提供显示日期的格式。
来自 columnsHaveTypes parameter, you can't just say created.date\(\)
- you need to provide an argument, which is a template for the way the date is represented in the CSV. Apparently the way you do this is, in accordance with the Go Language time.Parse function 上的 mongoimport 文档,以您选择的格式呈现特定参考日期。
我认为参考日期的格式应该是这样的:
2006-01-02T15:04:05.000Z
因此您需要更改 mongoimport 调用以使用格式模板指定日期,如下所示:
creation.date\(2006-01-02T15:04:05.000Z\)
当我从 mongoDB 导出数据时,我获得了以下文件:
mongoDB 中的所有内容都是字符串,除了日期是 ISODate。
123@123.com,sha1:64000:18:BTJnM903gIt5FNlSsZIRx1tLC9ErPJuB:9YVs800sgRPr1aaLj73qqnJ6,123,123,123@123.com,2017-04-28T09:20:07.480Z,cus_AYcVXIUf68nT52
如果我将此文件导入 MongoDB,它会将每个值导入为字符串值。我需要将日期解析为日期格式,其余可以是字符串。
我看到有一个参数用于 MongoImport --columnsHaveTypes。我已经试过了,没有任何结果:
mongoimport -u test-p test --authenticationDatabase test -h localhost:30158 --db test--collection users --type csv --file users.csv --upsert --upsertFields username --fields username.string\(\),password.string\(\),cname.string\(\),sname.string\(\),mail.string\(\),creation.date\(\),validation.auto\(\),clients.string\(\),customer.string\(\) --columnsHaveTypes
我收到这个错误:
Failed: type coercion failure in document #0 for column 'creation', could not parse token '2017-04-28T09:20:07.480Z' to type date
我能做什么?
亲切的问候。
摘要:您需要提供显示日期的格式。
来自 columnsHaveTypes parameter, you can't just say created.date\(\)
- you need to provide an argument, which is a template for the way the date is represented in the CSV. Apparently the way you do this is, in accordance with the Go Language time.Parse function 上的 mongoimport 文档,以您选择的格式呈现特定参考日期。
我认为参考日期的格式应该是这样的:
2006-01-02T15:04:05.000Z
因此您需要更改 mongoimport 调用以使用格式模板指定日期,如下所示:
creation.date\(2006-01-02T15:04:05.000Z\)