如何将 AQL 的所有结果合并到具有自定义属性的单个文档中

2024-02-11

我有一个 AQL 查询遍历图,它始终应从一组唯一的集合中返回固定数量的文档。 因此每个集合只会发生一次并且仅包含一个文档。

我希望将它们全部合并到反映文档集合名称的属性下的单个文档中。

查询很简单:

FOR v IN ANY "vertex/key" edge_collection RETURN v

返回示例结果为:

[
  {
    "_key": "123",
    "_id": "foo/123",
    "_rev": "_WYhh0ji---",
    "foo_attribute": "lorem impsum"
  },
  {
    "_key": "456",
    "_id": "bar/456",
    "_rev": "_WYhh2ny---",
    "bar_attribute": "dolor sit amet"
  }
]

我希望得到这样的:

[
  {
    "foo": {
      "_key": "123",
      "_id": "foo/123",
      "_rev": "_WYhh0ji---",
      "foo_attribute": "lorem impsum"
    },
    "bar": {
      "_key": "456",
      "_id": "calendar/bar",
      "_rev": "_WYhh2ny---",
      "bar_attribute": "dolor sit amet"
    }
  }
]

  • 为了从文档使用中获取集合名称PARSE_IDENTIFIER function https://docs.arangodb.com/3.3/AQL/Functions/Document.html#parseidentifier分别给出文档的集合名称和密钥
  • Use 方括号 https://docs.arangodb.com/3.0/AQL/Fundamentals/DataTypes.html#objects--documents动态生成文档属性的理解
  • 简单地合并查询结果

Example:

RETURN MERGE(
    FOR v IN ANY "vertex/key" edge_collection
    RETURN {[PARSE_IDENTIFIER(v).collection]: v}
)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 AQL 的所有结果合并到具有自定义属性的单个文档中 的相关文章

  • 关于 ArangoDB 中多个索引的使用

    具有以下结构的文档 path String enabled Long disabled null Long other fields 我想通过路径前缀和某些数字与文档时间戳之间的数字关系的组合来查找文档 伪代码 SELECT e FROM
  • ArangoDB:如何获取2个顶点之间的所有可能路径?

    如何在 maxDepth 2 的情况下获取 2 个顶点 例如 X 和 Y 之间的所有可能路径 我尝试过TRAVERSAL但执行需要大约 10 秒 这是查询 FOR p IN TRAVERSAL locations connections X
  • ArangoDB 的 SPARQL 接口

    对于 Arangodb 我知道它自己的查询语言 AQL 据我所知 还有一个附加组件 允许使用 Gremlin 进行图形遍历等 在我的一个项目中 我们强烈使用 SPARQL 因此 有没有办法使用 SPARQL 作为 Arangodb 的查询语
  • ArangoDB - 如何在图遍历中执行计算?

    我有一个简单的图表来跟踪我借钱给的人 所以图表看起来像这样 userB owes to amount 200 gt userA userC owes to amount 150 gt userA 等等 假设您需要使用图形遍历来找出每个用户欠
  • 顶点和边的模型架构

    如何像 OrientDB 中那样验证图 顶点和边 数据 例如 如果我的图有格式的顶点 边 name any name age 13 如何将它与定义良好的模式 带有验证 相关联 在OrientDB中 还具有将数据存储在顶点和边中的功能 并且每
  • ArangoDB 索引与边缘集合的使用

    任务 更新许多边属性的最快方法 出于性能原因 我忽略图形方法并直接使用集合进行过滤 ArangoDB 2 8b3 查询 报价 边集 FOR O In Offer FILTER O from from and O to to and O ex
  • docker容器中arangodb数据备份策略

    我想备份 arangodb 数据 以防 arangodb 在 docker 容器中运行 arangodb 的数据作为卷安装到主机系统 一种解决方案是创建一个 docker 映像 基于官方 arangodb 映像 其中包含用于备份的脚本阿兰戈
  • 使用 Spring Data ArangoDB 为每个客户提供单独的数据库的多租户

    到目前为止 我知道设置数据库名称以与 Spring Data ArangoDB 一起使用的唯一方法是将其硬编码在database 扩展时的方法AbstractArangoConfiguration 像这样 Configuration Ena
  • 如何解决 Arango 查询承诺错误? [复制]

    这个问题已经存在了 我一直在尝试使用肥皂消息从 Arangodb 获取查询结果到我的前端服务 Angular 4 我能够获得查询结果 但在 console log 中打印出来 但是我如何在这个功能 Service 下获取它 这样我就可以输入
  • 如何将 ArangoDB 嵌入桌面应用程序

    我想在我的应用程序中嵌入一个图形数据库 适用于 Windows Linux 和 MAC 我将搜索范围缩小到 ArangoDB 和 OrientDB 我能够让嵌入式 OrientDB 工作 但我仍然想尝试 ArangoDB 来做出明智的决定
  • 我的树形图的 Arangodb 自定义过滤器/访问者

    我有一个带有两个边定义的图 如下所示 isDepartment organisation gt organisation hasAccess user gt organisation 组织嵌套在树中 无循环 有多个顶级组织 没有任何传入is
  • 节点高速通道-会话管理

    我为 ArangoDB for ConnectJS 编写了一个会话存储驱动程序 它正在工作 尽管仍处于 alpha 阶段 但我有几个问题 过期属性为 false 的第一个会话仅在用户代理的持续时间内保留 我注意到浏览器窗口关闭时不会调用 s
  • 最快的 ArangoDB 朋友的朋友查询是多少(带计数)

    我正在尝试使用 ArangoDB 获取朋友的朋友列表 不仅仅是一个基本的朋友的朋友列表 我还想知道用户和朋友的朋友有多少个共同的朋友并对结果进行排序 经过多次尝试 重新 编写性能最佳的 AQL 查询 我最终得到的是 LET friends
  • 转储数据库并以新名称重新导入

    如果我需要使用 MySQL 将数据库 foo 的内容复制到第二个数据库 bar 中 我通常会这样做 mysqldump u root foo gt foo sql mysql u root e CREATE DATABASE bar mys
  • 如何在aerospike中获取ttl为-1的记录集?

    我在aerospike中有很多记录 我想获取ttl为 1的记录 请提供解决方案 只是为了澄清 设置TTL 为 1 https github com aerospike aerospike client go blob master docs
  • 检索 arangodb 中没有链接边的顶点

    检索相关edge collection中没有边的所有顶点的最佳方法是什么 我尝试使用以下代码 但自 arangodb 2 8 以来 它变得非常慢 在以前的版本中并不是很快 但比现在快了大约 10 倍 对于大约 1000 个边和大约 3000
  • 如何在ArangoDB中设置集群和分片?

    我想在arangoDB中使用分片 我已经制作了协调器 DBServers 如文档2 8 5中所述 但仍然有人可以详细解释它 以及我如何能够在分片之后和之前检查查询的性能 可以测试您的应用程序对于本地集群 所有实例都在一台机器上运行吗 htt
  • 如何使用 ArangoJs 将文档存储在 ArangoDb 图中?

    我正在使用 Nodejs 应用程序中的最新版本的 ArangoDb 和 ArangoJs 我有以下两个顶点 users tokens tokens顶点包含向其中一个用户发出的安全令牌users顶点 我有一个名为的边缘定义token belo
  • ArangoDB 游标超时

    使用 ArangoDB 2 3 1 看来我的光标将在几分钟内过期 我希望它们能持续一个小时 我已使用 TTL 参数设置 AQL 查询对象 如下所示 query removed actual query count true batchSiz
  • 管理多租户 ArangoDB 连接

    我使用 ArangoDB Go 使用 go driver 并且需要实现多租户 这意味着每个客户都将在单独的数据库中拥有他的数据 我想要弄清楚的是如何使这种多租户发挥作用 我知道为每个请求创建一个新的数据库连接是不可持续的 这意味着我必须维护

随机推荐