【发布时间】:2021-11-27 09:31:17
【问题描述】:
我正在使用 Python 访问我的 ArangoDB。有时,使用len(cursor) 确定结果是否为空或者我是否只有一个结果会很有用。
不幸的是,这主要导致异常:
│arango.exceptions.CursorCountError: cursor count not enabled
在source code of the cursor 中,结果集中似乎需要一个计数变量。
根据the documentation,这是通过添加:
COLLECT WITH COUNT INTO length
在我的例子中,我使用了一个简单的、大部分是自动生成的查询来过滤所有内容:
FOR i IN nodes
FILTER i.ID == "3000" OR i.ID == "3005" OR i.ID == "11235"
RETURN {'_id':i._id,'id':i.id}
添加COLLECT 会导致错误。这篇https://stackoverflow.com/a/24131344/2516892 的帖子会提出这样的解决方案:
FOR m IN nodes
FILTER m.ID == "3000" OR m.ID == "3005" OR m.ID == "11235"
COLLECT WITH COUNT INTO length
RETURN {'_id':i._id,'id':i.id, 'length': length}
这不起作用。插入这种聚合函数的正确查询是什么?
【问题讨论】:
标签: arangodb aql python-arango