繁体   English   中英

ArangoDB:处理遍历中的悬空边缘

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM