问题标签 [aql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1155 浏览

arangodb - AQL 图形查询示例

我无法使用 AQL 和图形查询做我想做的事。我想在一个简单的数据集上获得一些 AQL 的基本示例。

例如:给定一组演员和一组电影。和一个actIn边集合(带有year属性)来连接顶点。

[演员] <- 演戏-> [电影]

我怎么能得到:

  • 出演过“movie1”或“movie2”的所有演员
  • 在“movie1”和“movie2”中演出的所有演员?
  • 所有演过 3 部电影或以上电影的演员
  • “actor1”和“actor2”之间的所有常见电影?
  • 所有出演过 3 部电影或更多电影的演员?
  • 6个演员演过的所有电影?
  • 电影演员人数?
  • 演员的电影数量?
  • 演员在 2005 年至 2010 年间出演的电影数量?

这是简单的查询,但我不知道如何使用 AQL 来描述它们。

欢迎任何帮助,如果您有 tuts 或链接以更好地了解如何完成工作,我会很高兴!

谢谢

0 投票
1 回答
607 浏览

json - 如何使用 aerospike 查询语言导入 json 数据?

我是 aerospike 的新手。我已阅读有关 aql 的基本文档,但坚持导入数据。我有一个 json 数据,我必须使用 aql 在 aerospike 中导入它。是否有任何命令可以在 aerospike 中导入数据?

0 投票
1 回答
1277 浏览

arangodb - AQL 返回平面合并列表

我想在 AQL 中返回一个唯一的产品选项列表,我知道 COLLECT 可以返回唯一列表但是,我现在如何将它展平为一个数组。

所以我想返回以下过滤列表:(我们称之为列表 [A])

如:(让我们称这个列表[B])

用于获取列表的查询 [A]

我尝试了 FLATTEN、UNIQUE 并且没有运气。也许我没有准确地使用功能。我最初的想法是重新打包列表 [A] 中的项目以创建列表 [B],如果不在 [B] 中,则将 [A] 推入 [B]

0 投票
2 回答
134 浏览

graph - 从 GRAPH_NEIGHBORS AQL 查询中提取顶点

我有一个带有文件夹树状结构的图,我想将所有顶点作为叶子从特定起点获取到图中。我使用了以下 AQL 查询:

查询工作正常,但我只将内部句柄 ID 放入结果中:

我希望将记录列表而不是内部 ID 作为结果。所有内部 ID 属于同一个集合。我想知道是否可以使用子查询。我不明白语法可能是什么。

问候

0 投票
1 回答
83 浏览

arangodb - 根据选项过滤掉产品

我正在尝试计算一个查询以根据可过滤选项、颜色、大小等过滤掉产品

用例:获取所有尺寸为 8 且红色的产品

尝试 1:使用交叉点

尝试 2:使用多个过滤器

我不确定我的想法是否应该遵循首先使用 LET 获得可能的候选产品而不是合并每个单独的 LET 查询的结果。显得比较笨拙!:(

0 投票
1 回答
496 浏览

database - ArangoDB 通过 _id 获取文档,每个查询都有缓存

拥有文档集合“items”、“dictionary1”、“dictionary2”

当我加入字典时

查询执行时间 ~ 150 毫秒对于这个简单的任务来说太多了。对于实验,我是一个 _id 的强制字典

查询执行时间 ~ 130ms

我也尝试过 DOCUMENT 功能

查询执行时间 ~ 1500ms :((

并从集合中简单读取:

查询执行时间~30ms

因此,当我通过 _id 50000 次作为连接获得相同的文档时,结果不会被缓存。一个集合中有重复内容的变体对我没有用。现在我将逻辑移动到客户端,选择内存中的所有字典并在查询后加入,并且有〜60ms,但我不喜欢这种方法,它错了。

有什么方法可以在短时间内获得加入字典(80% 相同的_id)的结果?

0 投票
1 回答
265 浏览

graph-databases - 如何在 arangodb 图搜索中使用索引?

我正在为我的应用程序评估 ArangoDb。我有一个像文件系统这样的数据模型,有一个 Items 文档集合和一个 ItemsParents 边缘集合,其中包含关于 Items 的父子关系。

现在我想找到具有特定属性的特定项目的所有孩子

例如:A 的所有子级属性 Properties.Age.Value = 20

所以我在 Items.Properties.Age.Value 上创建了一个哈希索引,并设计了这个 AQL 查询:

上面的查询运行良好,但没有使用索引,因此它对测试 Properties.Age.Value 过滤器的 Items 集合执行全面扫描。

如何设计查询以使其高效地使用索引并避免集合扫描?

谢谢

0 投票
1 回答
1056 浏览

graph-databases - 什么是最快的 ArangoDB 好友好友查询(有计数)

我正在尝试使用 ArangoDB 来获取朋友的朋友列表。不仅仅是一个基本的朋友列表,我还想知道用户和朋友的朋友有多少朋友,并对结果进行排序。在多次尝试(重新)编写性能最佳的 AQL 查询之后,我最终得到了以下结果:

不幸的是,性能并不如我所愿。与相同查询(和数据)的 Neo4j 版本相比,AQL 似乎慢了很多(5-10 倍)。

我想知道的是......我怎样才能改进我们的查询以使其表现更好?

0 投票
1 回答
1532 浏览

key-value - 使用 AQL 迭代查询 ArangoDB

我以以下格式将 JSON 数据存储在 ArangoDB 集合中。

我是 ArangoDB 的新手。我不知道从 ArangoDB 存储和查询数据。在我的数据中没有任何预定义的键,并且数据会随时间填充。我的数据就像一个半结构化的数据,没有任何固定数量的属性,并且由于它的迭代列表结构而有点复杂。

首先,任何人都可以建议我在 ArangoDB 中存储上述格式的最佳方式。

其次,我想通过以下方式查询这些数据:通过指定任何键(事先不知道,通过在运行时指定),或通过指定键和值对Key1 == value1的组合,例如,或使用 AND 或 OR 逻辑的组合运营商喜欢Key1 == value1 AND Key2 == value2 OR Key3== value3.

那么,我们如何迭代上述数据呢?

0 投票
1 回答
249 浏览

node.js - ArangoDB - AQL 查询的性能问题

我正在通过 Strongloop 将 ArangoDB 用于 Web 应用程序。运行此查询时,我遇到了一些性能问题:

我添加了一些索引来加快查询,例如skiplist排序字段上的索引。

我的收藏里面有超过 1M 的记录

该应用程序托管在 Google Cloud上的n1-highmem-2上。以下是一些规格:

  • 2 个 CPU - 至强 E5 2.3Ghz
  • 13 GB 内存
  • 10GB 固态硬盘

不幸的是,我的查询花了很多时间来结束。我能做些什么?

最好的问候,卡梅罗