2

如何在 AQL 中获取受影响文档的数量?

给定这样的查询:

FOR u IN users
  FILTER u.active == true
  UPDATE u WITH { numberOfLogins: 0 } IN users

如何获取受影响文档的数量?

4

1 回答 1

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 提供了此图。

于 2015-01-13T09:39:44.450 回答