簡體   English   中英

使用 AQL IN 運算符時 stats.FullCount 的值錯誤

[英]Value of stats.FullCount is wrong when AQL IN operator is used

ArangoDB3-3.7.2_win64 arangodbJavaDriver=6.7.5

假設集合有超過 100 個文檔,以下 AQL 查詢通過 Java 驅動程序使用 AqlQueryOptions().fullCount(true) 返回 stats.fullCount 中的預期值:

FOR a IN SomeCollection FILTER a.field = @p1 SORT a.field ASC LIMIT 0,100 RETURN a

但是使用 IN 運算符的類似查詢 stats.fullCount 的值意外地為 100:

FOR a IN SomeCollection FILTER a.field IN [@p1, @p2] SORT a.field ASC LIMIT 0,100 RETURN a

奇怪的是,當我降級到 ArangoDB3-3.6.3_win64 時,兩個查詢都按預期工作並在 stats.fullCount 中返回正確的值

能否恢復正確的功能?

AQL 中的相等運算符是== ,而=是賦值運算符。 所以你的第一個查詢應該是這樣的:

FOR a IN SomeCollection FILTER a.field == @p1 SORT a.field ASC LIMIT 0,100 RETURN a

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM