1
流星服務器代碼更新了MongoDB的收集比較日期,dateField
已值看起來像這樣
ISODate("2016-11-19T00:00:00Z")
MongoDB中
客戶端選擇一個dateStart
和dateFinish
,像這樣
$(「輸入[名稱=」因此,我轉換用戶條目,以便我可以使用它來獲取dateField
與下面的mongodb查詢匹配的文檔;
dateToISO: (date) => { // date format in YYYY-MM-DD
const dArr = date.split('-');
return new Date(parseInt(dArr[0]), parseInt(dArr[1]) - 1, parseInt(dArr[2]));
}
然後將結果呈現給用戶使用的甲DD日期/ MM/YYYY
let start = utility.dateToISO(dict.get('inquiryStartDate'));
let end = utility.dateToISO(dict.get('inquiryEndDate'));
////Both of the above prints: Sat Nov 19 2016 00:00:00 GMT+1100 (AEDT)
return myCol.find({
date: {
$gte: start,
$lte: end
}
}, {
transform: function(doc) {
doc.date = moment(doc.date).format('DD/MM/YYYY');
return doc;
}
});
的代碼失敗,雖然存在某些返回任何文件事件。任何想法爲什麼以及如何解決它?
您在代碼中評論說'上述兩種打印方式:2016年11月19日00:00:00 GMT + 1100(AEDT)',這樣只有文檔的日期字段的值纔是確切的'Sat Nov 19 2016 00: 00:00 GMT + 1100(AEDT)'將返回。 – Khang
當你從查詢中刪除$ lte:end時它會起作用嗎? – Veeram
@Khang爲了進行壓縮,將一個日期轉換爲另一個日期的最佳方法是什麼?現在確定這是否是問題,因爲如果日期值更改,相同的代碼工作正常。 –