【问题标题】:Arangodb update query failing with error 1213Arangodb 更新查询失败,错误 1213
【发布时间】:2015-03-12 17:25:26
【问题描述】:
var docs = ///aql
for(var i = 0; i< docs.length;i++) {
    db._collection(edgeCol).update(docs[i]._id, {"a": 10});
}

我收到以下错误:

[ArangoError 1213: 不允许交叉收集请求] 错误:不允许交叉收集请求

【问题讨论】:

  • 糟糕,我的错误。 docs 有来自 edgeCol 集合以外的文档。

标签: arangodb


【解决方案1】:

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});
}

【讨论】:

    猜你喜欢
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多