2017-04-26 122 views
0

我使用documentdb數據庫長期以來,如何根據時間戳過濾documentdb記錄?

因此它有很多的收藏記錄/文件,

沒有簡化它,我想獲取基於時間戳記錄/文件。

  1. 我想獲取在過去1天內創建的所有記錄。
  2. 我想獲取在過去15天內創建的所有記錄。
  3. 我想獲取最近1個月內創建的所有記錄。
  4. 我想獲取最近1年創建的所有記錄。

我試圖成爲這樣的查詢,但它不工作。

var curDate = new Date().getTime(); 
SELECT * FROM r WHERE r._ts >= @curDate AND [email protected] 
+0

'我試圖成爲這樣的查詢,但它不工作.... ....你能告訴什麼是不工作? –

回答

1

new Date().getTime()docs

較1970年1月1日00:00:00 UTC與給定日期之間經過的毫秒數。

_tsdocs

表示自1月1日經過的秒數的數字,1970年

所以你是比較毫秒到幾秒,這將不會產生任何結果。

您需要將第一個值除以1000,然後再將其與第二個值比較。當然,您需要減去1天,1個月或任何您需要的值,例如

var twoDaysAgo = new Date(); 
twoDaysAgo.setDate(d.getDate() - 2); 
var threshold = twoDaysAgo.getTime()/1000; 

SELECT * FROM r WHERE r._ts >= @threshold AND [email protected] 
+0

感謝buddy它正在爲我工​​作。 –