【问题标题】:Arange AQL Remve Document and EdgesArango AQL 删除文档和边缘
【发布时间】:2016-07-19 17:54:59
【问题描述】:

回到另一个arango问题。

是否有一种简单的方法可以删除文档及其所有边缘?这个解是递归的吗?

再次假设我有类似下面的内容。

  • 圈子存储在文档集合中。
  • Square 存储在文档集合中。

然后我有两个边缘集合 HAS_CIRCLE 和 HAS_SQUARE 适当地对应于各种 \ 指示。

   Circle A
    /       \
 Square 1    Circle B 
            /     \         \
       Circle C   Square 2  Square 3
       /
     Square 4

如果我要删除圆 B。那么我还想删除圆 C、正方形 2、正方形 3 和正方形 4。以及所有边缘。

所以基本上我会结束。

   Circle A
    /     
 Square 1  

现在我的方法是获取 Circle C 的边缘和相关文档的所有键。然后我用javascript递归地做这个。我正在使用 arangojs 模块,并在我拥有所需内容后使用 removeByKeys

不确定我是否缺少一些魔法。

【问题讨论】:

    标签: javascript arangodb aql


    【解决方案1】:

    它的工作方式是,您必须首先找出要删除的文档的所有 ID,并将其与它们所在的集合保持一致。

    收集完所有 ID 后,您需要为每个集合发出一个 REMOVE 语句,其中包含 ID 列表。

    您可以在非常相似的问题Safe removal of vertexes in ArangoDB (using _ids)? 中找到如何实现此目的的示例 AQL 查询。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-25
      相关资源
      最近更新 更多