我实际上是通过 tLibraryLoad 组件使用 mongDB API,因为我发现使用 tJavaRow 和 tJava 组件构建复杂的多级文档比使用 MongoDB 调色板组件更容易。
我正在从 Oracle 读取数据,这些数据是具有零时间戳组件的日期值:例如:
2008 年 6 月 29 日 00.00.00
导入通过 Talend 进行,但 mongo shell 中的记录似乎是前一天。您可以看到插入的记录为 28-JUN-2008。
从 mongoDB 中的 JSON 文档中提取:
“状态日期”:ISODate(“2008-06-28T23:00:00Z”)
就好像 mongoDB(或 Talend?)将午夜日期视为前一天的结束,而不是 2008 年 6 月 29 日的开始。
在我的 Talend 架构中,我已将 Oracle 列指定为日期类型,数据库类型也为日期。
任何建议表示赞赏。
--- 更新 1-------- 由于只有一些日期受到影响,这似乎是 mongoDB 中的 DST 调整,可能将显示调整到我当地的时区,因为受影响的日期在后半部分夏令时的一年。
是否由于 mongo shell 的位置而调整日期?
由于 mongo 服务器的位置,它正在调整日期,所以所有使用 mongo shell 的人都会得到相同的日期查询答案?
不同的人在日期上运行不同的 mongo 查询会根据他们的位置得到不同的结果吗?他们的 DST 开始日期......你可以想象从 2015 年 11 月 1 日开始的日期,被算作对 10 月 31 日数据的贡献(在 23:00) ……
一世