在couchbase服务器5.1中获取上个月的所有文档

时间:2018-08-19 18:21:15

标签: couchbase n1ql

我正在尝试从couchbase服务器5.1.1中获取上个月的所有文档。

我在时间戳记中有一个字段dateCreation

我的查询将在每月的15天(M)启动,以检索M-1文档。

我使用N1QL。

谢谢。

2 个答案:

答案 0 :(得分:0)

CREATE INDEX ix1 ON bucket(dateCreation);
SELECT * FROM bucket WHERE dateCreation >= DATE_ADD_STR(CLOCK_STR(), -1, 'month');

您可以使用常量更改CLOCK_STR()或更改为查询参数并提供值。

结帐DATE函数https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/datefun.html

答案 1 :(得分:0)

要补充vsr的答案,因为您需要上一个日历月的所有文档,请尝试以下操作:

SELECT * FROM bucket 
WHERE 
  dateCreation >= SUBSTR(DATE_ADD_STR(CLOCK_STR(), -1, 'month'),0,8) || "01" 
and 
  dateCreation < SUBSTR(CLOCK_STR(),0,8) || "01";