我實際上通過tLibraryLoad組件使用mongDB API,因爲我發現使用tJavaRow和tJava組件比使用MongoDB調色板更容易構建複雜的多級文檔組件。通過Talend從Oracle導入的MongoDB日期已經過去1天
我讀在從Oracle其是具有零時間戳部分日期值的數據:通過了Talend
29-JUN-08 00.00.00
導入工作:例如但是,mongo shell中的記錄似乎是前一天。您可以看到該記錄插入爲2008年6月28日。從JSON文檔
提取MongoDB中:
「status_date」:ISODate( 「2008-06-28T23:00:00Z」)
這幾乎是彷彿MongoDB的(或拓藍?)將午夜日期視爲前一天的結束,而不是2008年6月29日的開始。
在我的Talend架構中,我還將Oracle列指定爲具有日期類型的日期類型。
任何意見讚賞。
---更新1 ------ 由於只有一些日期受到影響,似乎這是mongoDB中的DST調整,可能會將顯示調整爲我當地的時區,因爲受影響的日期是在夏令時的後半部分。
是否由於mongo shell的位置而調整日期?
由於mongo服務器的位置,它正在調整日期,所以所有使用mongo shell的人都會得到與日期查詢相同的答案?
不同的人在日期上運行不同的mongo查詢會根據他們的位置得到不同的結果,他們的DST踢日期......即,你可以從2015年11月1日想像日期,被視爲促進10月31日的數字(23:00)....
我
嗨,我唯一的選擇是使用java api,而不是在Talend內的javascript,我想。我瞭解服務器的時區如何調整sysdate調用,但是它會如何影響從Oracle讀取的存儲值的寫入? – smackenzie