N1ql 查询处理日期时间场景

N1ql query to handle datetime scenario

我遇到一个需要从学生文档中获取所有记录的场景:

  "fname": "abc",
  "timeOfAdmission": 1576042885166,
  "lname": "rawat",
  "studentId": "1"

其中 studentId 是我们的 documnetId。

是否可以使用 N1ql 执行这样的查询

select * from students where (CurrentTime - timeOfAdmission) > 3600000.

其中 CurentTime、timeOfAdmission 和 3600000 以毫秒为单位。

我们如何使用 N1ql 编写此查询?

您可以使用日期函数https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/datefun.html#fn-date-now-millis

SELECT s.*
FROM students AS s
WHERE s.timeOfAdmission <  NOW_MILLIS() - 3600000;

CREATE INDEX ix1 ON students(timeOfAdmission);