簡體   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