2017-04-26 54 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它正在为我工​​作。 –