【发布时间】:2018-05-14 09:00:31
【问题描述】:
我一直在尝试让这个动态查询在 ArangoDB 3.1 中使用如下所示的日期。
当我不尝试查询日期时,这非常有效,但是当我尝试使用如下日期查询时返回一个空列表...
{
query:
'For c IN @@collectionName
FILTER ( c.@p0 == @v0 AND c.@p1 >= @v1 AND c.@p2 <= @v2 )
LIMIT @count RETURN c ',
bindVars: {
'@collectionName': 'Event',
p0: 'isPublished',
v0: true,
p1: 'dates[*].startsAt',
v1: '2018-06-01T04:00:00.000Z',
p2: 'dates[*].startsAt',
v2: '2018-07-01T03:59:59.999Z',
count: 9
}
}
需要一些帮助来解决这个问题
【问题讨论】:
-
您以这种格式存储日期是否有原因?像这样的日期只是字符串,您使用的是字符串比较器,因为日期不是数据类型。如果您将所有日期转换为 UTC 0 的 Unix 纪元时间(精确到毫秒),那么您正在处理整数,并且日期比较变得容易得多。您需要构建函数来确定给定日期的 Unix 纪元时间整数,但一旦完成,它就更简单了。