我們有流星應用程序,我們使用mongodb作爲數據庫。現在,由於VIEW功能已經在MongoDB上可用,我們試圖使用它來生成報告。但是,我們在收集日期字段和當前日期方面存在問題,因此我們甚至無法使用$ project下的mongodb聚合檢索當前日期字段,因爲我們不知道獲取當前日期的正確語法。我們的目標是,因爲它正在使用視圖,我們希望將新的Date()(這是今天的日期代碼)替換爲當前的mongodb日期方法。無法在MongoDB中查看當前日期查看查詢
"waiting_for_appointment" : {
$cond : {
if: { $eq: ["$current_status", "Waiting For Appointment"]},
then: {
$cond : {
if: {$gt: [{$subtract: [ new Date(), "$statuses.waiting_for_appointment.from_date" ]}, 0]},
then: {
$cond: {
if: {$gt: [{$subtract: [ "$statuses.waiting_for_appointment.to_date", "$statuses.waiting_for_appointment.from_date" ]}, 0]},
then: {$multiply : [{
$divide: [{$subtract: [ new Date(), "$statuses.waiting_for_appointment.from_date" ]}, {$subtract: [ "$statuses.waiting_for_appointment.to_date", "$statuses.waiting_for_appointment.from_date" ]}]
}, 100]
},
else: 0
}
},
else: 0
}
},
else: -1
}
},
查詢工作正常,但是當我再次編輯視圖的查詢,我發現它轉換爲靜態日期,日期時被查詢被保存。這是我們在保存查詢並編輯回來後得到的。
ISODate("2017-10-09T02:12:42.282+0000")
這就是爲什麼如果日期發生變化,查詢將不會生效。
在此先感謝。
嗨@Dom,感謝您的回覆。只是想澄清,如果你在做mongoDB的VIEW功能呢?該視圖功能,我們可以存儲一個mongodb語句,例如聚合類型,或者我們可以用我們的應用程序調用meteor應用程序作爲使用find方法的集合。我們的目標是如何在mongodb視圖上存儲不會轉換爲靜態的實際日期。就像我上面解釋的那樣,我們在聲明中使用'new Date()',但在保存該語句後,它會轉換爲靜態爲'ISODate(「2017-10-09T02:12:42.282 + 0000」) '。 –
啊,對。您可能需要刪除並重新創建視圖才能獲得預期結果,這可能與您首先想要使用視圖的原因相矛盾。如果我找到辦法做到這一點,我會告訴你。 –
謝謝@Dom,我還在做一項研究。 :-) 謝謝您的幫助。 –