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