我在教程中运行命令,我注意到我不断收到似乎不属于 shell 正常操作一部分的异常。
命令
arangosh [_system]> db._update(doc, { someValue: 42 });
输出
JavaScript exception in file 'c:/Program Files/ArangoDB 2.5.4/share/arangodb/js/
client/modules/org/arangodb/arango-database.js' at 789,11: [ArangoError 1200: pr
econdition failed]
! throw new ArangoError(requestResult);
! ^
stacktrace: Error
at ArangoDatabase._update (c:/Program Files/ArangoDB 2.5.4/share/arangodb/js
/client/modules/org/arangodb/arango-database.js:789:11)
at <shell command>:1:4
最佳答案
如果您尝试更新已更新文档的修订版本,通常会发生这种情况。
例如:
arangosh [_system]> d1 = db.test.save({ value: 1 })
{
"_id" : "test/41839385817",
"_rev" : "41839385817",
"_key" : "41839385817"
}
创建一个新文档。
arangosh [_system]> d2 = db._update(d1, { value: 2 })
{
"_id" : "test/41839385817",
"_rev" : "41840762073",
"_key" : "41839385817"
}
如果您现在尝试更新文档的原始版本,则会收到错误消息:
arangosh [_system]> db._update(d1, { value: 3 })
JavaScript exception in file '/usr/local/Cellar/arangodb/HEAD/share/arangodb/js/client/modules/org/arangodb/arango-database.js' at 790,11: [ArangoError 1200: precondition failed]
! throw new ArangoError(requestResult);
! ^
stacktrace: Error
at ArangoDatabase._update (/usr/local/Cellar/arangodb/HEAD/share/arangodb/js/client/modules/org/arangodb/arango-database.js:790:11)
at <shell command>:1:4
因为该文档的修订版本不再有效。
关于shell - ArangoDB 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30553549/