Arangodb 更新查询失败,出现错误 1213

Arangodb update query failing with error 1213

var docs = ///aql
for(var i = 0; i< docs.length;i++) {
    db._collection(edgeCol).update(docs[i]._id, {"a": 10});
}

我收到以下错误:

[ArangoError 1213: cross collection request not allowed] Error: cross collection request not allowed

1213(跨集合请求)表示您正在对一个集合调用 update,但指定另一个集合中的文档 ID 以进行更新。这是不支持的。

您可以改为通过 _key 进行更新,即

for(var i = 0; i< docs.length;i++) {
    db._collection(edgeCol).update(docs[i]._id, {"a": 10});
}

或使用 db 对象及其 _update 方法更新(并省略集合对象):

for(var i = 0; i< docs.length;i++) {
    db._update(docs[i]._id, {"a": 10});
}