2016-11-11 103 views
0

我有以下查詢:Mongo查詢和按日期排序?

let inputDate = new Date(new Date().toISOString()) //OR new Date() which doesn't work either 
let found = Collection.find({ 
     $query: { 
      storedAt: { 
       $lte: inputDate 
      } 
     }, 
     $orderBy: { //doesn't work for some reason 
      storedAt: -1 
     } 
}).fetch() 

我試圖去得到返回的查詢按日期(以便最接近時間函數被調用)進行排序,最近的日期往上頂。然而,不管我點的是-1還是1,訂單仍然是錯誤的,因爲它從最早的日期開始。我的日期以ISODate格式正確存儲在數據庫中,我已經檢查過。我也試着用inputDate = new Date()來運行這個查詢,但這也不起作用。

回答

2

您似乎認爲Meteor集合查詢與MongoDB查詢相同,但它們不是。他們的語法完全不同。請參閱文檔findhttps://docs.meteor.com/api/collections.html#Mongo-Collection-find

在你的情況,你可能正在尋找的是:

let found = Collection.find({storedAt: {$lte: inputDate}}, 
          {sort: {storedAt: -1}}).fetch()