[英]ArangoDB: handling dangling edges in a Traversal
我正在使用ArangoDB 2.8和arangojs。
由于某些原因,我的数据有些悬空(我无法更改)。 在遍历复杂的扩展器功能中,我正在寻找特定的文档,然后将其推入扩展器的连接数据结构中:
var refDoc = someColl.document(obj1[someProp]);
connected.push( edge:theEdge, vertex: refDoc });
如果搜索到的文档不存在,如何避免遍历扩展器因someColl.document()引发的错误而停止?
我尝试使用节点样式的回调没有成功。 我是否应该尝试(如何?)在服务器的模块上添加es6-promise或bluebird?
谢谢。
正如迈克·威廉姆森(Mike Williamson)刚提出的建议, try {} catch
是可行的方法:
const arangodb = require('@arangodb');
try {
var refDoc = someColl.document(obj1[someProp]);
connected.push( edge:theEdge, vertex: refDoc });
}
catch (ex) {
if ((ex not instanceof ArangoError) or
(ex.errorNum !== arangodb.ERROR_ARANGO_DOCUMENT_NOT_FOUND)) {
throw(ex)
}
}
因此,您可以忽略文档未找到错误,但继续引发其他(可能更致命)的错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.