我正在尝试使用mongoimport实用程序导入 CSV 文件,其中一个特定列的类型为日期时间
从MongoDB版本3.4开始,我们可以使用 - columnsHaveTypes 指示 mongoimport - headerline 中指定的字段列表具体类型。
我的CSV文件看起来像这样
TIME,TPS
2006-01-02 07:25:24,1
2006-01-02 07:25:25,2
2006-01-02 07:25:26,2
2006-01-02 07:25:27,2
2006-01-02 07:25:28,2
2006-01-02 07:25:29,2
2006-01-02 07:25:30,1
2006-01-02 07:25:31,3
命令我已执行但有错误输出
>>mongoimport --db test1 --collection tpsformat --type csv --file C:\ARMS\TestTPS.csv --headerline TIME.date\(2006-01-02 15:04:05\),TPS.string\(\) --columnsHaveTypes --maintainInsertionOrder
2017-08-22T16:36:52.114+0530 error validating settings: only one positional argument is allowed
2017-08-22T16:36:52.119+0530 try 'mongoimport --help' for more information
>>mongoimport --db test1 --collection tpsformat --type csv --file C:\ARMS\TestTPS.csv --headerline TIME.string\(\),TPS.string\(\) --columnsHaveTypes --maintainInsertionOrder
2017-08-22T16:36:59.539+0530 error validating settings: incompatible options: --file and positional argument(s)
2017-08-22T16:36:59.543+0530 try 'mongoimport --help' for more information
但是,没有--columnsHaveTypes的简单导入执行正常
>>mongoimport --db test1 --collection tpsformat --type csv --file C:\ARMS\TestTPS.csv --headerline --maintainInsertionOrder
2017-08-22T16:37:07.928+0530 connected to: localhost
2017-08-22T16:37:07.936+0530 imported 8 documents
有人可以在这里建议我做错了吗。
由于
答案 0 :(得分:1)
我知道这是一个老帖子,但我想我会提供一个答案,以防其他人在寻找这个问题的帮助。在我阅读Go文档之前,我也遇到了一些问题,并且非常非常地采取了一切措施。
首先,使用 - 标题和 - columnsHaveTypes 参数时,标题和列定义应位于CSV文件中。未在命令行中定义。
其次,在定义日期格式时,您必须逐字地使用用于描述Go文档中的格式的值。
实施例。 1月2日星期一15:04:05 MST 2006
字面意思是您必须使用Mon(特定于案例)声明您要表明您将以日期格式发送一周中的三个字母。如果你要使用" Tue"在您的格式规范中,它将无法正常工作。您可以在Go文档中的 nextStdChunk 代码中看到这一点。
最后,在为Mongo定义日期字段时,您不需要在格式周围使用引号。事实上,当我使用引号时它从未奏效。
把这一切都放在OP ......
CSV文件中的标题行应如下所示:
TIME.date(2006-01-02 15:04:05),TPS.string()
2006-01-02 07:25:24,1
2006-01-02 07:25:25,2
2006-01-02 07:25:26,2
2006-01-02 07:25:27,2
2006-01-02 07:25:28,2
2006-01-02 07:25:29,2
2006-01-02 07:25:30,1
2006-01-02 07:25:31,3
注意:在上面给出的日期格式中,我用15表示零填充的24小时时间值,因为我只能猜测你提供的是24小时。
mongoimport 命令行如下所示:
mongoimport --db test1 --collection tpsformat --type csv --file C:\ARMS\TestTPS.csv --headerline --columnsHaveTypes --maintainInsertionOrder