如何获取AQL中受影响的文档数量?
给出这样的查询:
FOR u IN users
FILTER u.active == true
UPDATE u WITH { numberOfLogins: 0 } IN users
如何获取受影响的文档数量?
答案 0 :(得分:2)
查询本身不会返回任何文档,但可以提供更新的文档数。以下示例显示了如何在ArangoShell中执行此操作:
var query = "FOR u IN users FILTER u.active == true UPDATE u WITH { numberOfLogins: 0 } IN users";
var stmt = db._createStatement(query);
var result = stmt.execute();
var stats = result.getExtra().stats;
print(stats);
在我的情况下返回如下内容:
{
"writesExecuted" : 50,
"writesIgnored" : 0,
"scannedFull" : 100,
"scannedIndex" : 0
}
writesExecuted
可能就是你追求的数字。它表示完成了多少文档更新。如何从特定于语言的驱动程序获取数字可能会有所不同(可能取决于语言和驱动程序),但所有驱动程序使用的ArangoDB的HTTP API都提供了这个数字。