kettle在查詢mongodb的時候少不了會進行檢索時間,查詢某個時間段內的數據。比如~
[{
$match : {
"createTime": {
$lt: {
"$date": "2019-10-19T16:00:00.000Z"
},
$gt: {
"$date": "2019-10-18T00:00:00.000Z"
},
}
}
}]
其中特別注意的點需要說明一下,在kettle中 mongodb 用的非shell環境,所以不能使用new Date() ISODate。這兩種方式在解析JSON的時候就會報錯,還沒發給mongodb服務器之前。而且特別注意的是,$match $lt $gt $date 上的雙引號。Json嚴格模式,要求你輸入的必須是JSON格式的數據。除此以外對於時間的格式,目前所知道的只能是 "yyyy-MM-ddTHH:mm:sssZ" 以及 long整型的時間戳。如果你的格式不對比如 想加個時區 "yyyy-MM-ddTHH:mm:sssUTC+8" 。no no no 這樣子你不會得到如何數據。