我有包含使用$ currentDate插入日期的字段的mongo文檔,所以當我插入文檔時,該字段具有mongo服務器日期。 我想查詢並過濾所有日期字段和服務器日期之間差異超過10分鐘的文檔。MongoDB查詢帶有服務器時間的日期字段
假設該DB:
{ "_id" : 1, "item" : "abc", "price" : 10, "fee" : 2, "discount" : 5, "date" : ISODate("2017-07-14T08:00:00Z") }
{ "_id" : 2, "item" : "jkl", "price" : 20, "fee" : 1, "discount" : 2, "date" : ISODate("2017-07-14T08:05:00Z") }
假設我將運行在「2017-07-14T08 01Z:10」查詢我想查詢將只返回的第一個項目是服務器日期, 。
db.items.aggregate([
{$project : {lut : {$subtract: ["** server date **", "$date" ]}}},
{$match : { lut : {$gte : 10*60*1000 }}} ]);
如何在運行查詢時獲取服務器日期? 我從我的nodeJS服務器運行查詢,用新的Date()替換服務器日期將獲得節點服務器的日期而不是mongo服務器。
當您有更多信息而不是寫回答時,您可以更新問題。這樣人們在回答你的問題之前就會找到信息。 – bogdanciobanu