在我的ML8数据库中,有一些包含Dtm字段的JSON文档。您可以在下面的“数据:”中看到一个示例。 我在这个字段上有一个标量类型dateTime的元素范围索引,并检查它是否有效我使用下面在'Test:'中看到的查询。结果如预期。
现在,当我尝试查询此内容时,我希望在特定日期之后使用Dtm字段获取所有文档,此查询不返回任何内容。您可以在“查询:”中查看下面的查询。
数据:
"Dtm": "2015-06-25T07:11:10.0Z"
查询:
var date = xs.dateTime("2015-06-01T14:38:09.145231+02:00");
var b = cts.elementRangeQuery("Dtm", ">", date);
var c = cts.search(b);
c
测试:
cts.elementValues([xs.QName("Dtm")], null, ['limit=3'], null, 1.0, null);
TestResult中:
2015-06-11T17:43:36
2015-06-11T17:43:37
2015-06-11T17:43:38
答案 0 :(得分:5)
尝试使用cts.jsonPropertyRangeQuery
,并使用fn.subsequence
只抓取一页结果,而不是全部。例如:
var date = "2015-06-16T07:11:10.0Z";
var b = cts.jsonPropertyRangeQuery("Dtm", ">", date);
var c = fn.subsequence(cts.search(b, ['unfiltered']), 1, 10);
HTH!
答案 1 :(得分:1)
这是实现这一目标的最终代码。
var date = "2015-06-16T07:11:10.0Z";
var b = cts.jsonPropertyRangeQuery("Dtm", ">", date);
var c = fn.subsequence(cts.search(b, ['unfiltered']), 1, 10);
感谢@grtjn。