我在集合上有一个非唯一的非稀疏哈希索引" coll2"在字段" a,b [*]"。当我在子查询中查询此集合时:
FOR r IN coll
RETURN COUNT(
FOR rr IN coll2
FILTER rr.a == true &&
r.id IN rr.b &&
r.id IN rr.c
RETURN null
)
我得到一个结果,好像忽略了字段c上的过滤器。解释查询确认使用了我的哈希索引。如果我在字段" a,b [*],c [*]"上创建另一个非唯一的非稀疏哈希索引,则结果与预期一致,并解释查询确认我的新索引已被使用。
我可以确认,在直接查询coll2时,即使使用两个字段索引也不会这样做。解释查询表明,在这种情况下,它将使用两个字段索引,然后创建一个过滤器作为不在索引中的字段的简单表达式。这是一个错误吗?