问题标签 [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 回答
342 浏览

indexing - 对象键上的 Arangodb 动态索引

阿兰戈德 2.8b3

有一些属性“规范”的文档,里面可以有 1-100 个键,比如

通过specification.key进行任务快速查询

尝试使用以下字段创建哈希索引:“specification”、“specification.*”、specification[*]、specification[*].*

从未使用过索引,是否存在无需重组结构或未来计划的解决方案?

0 投票
1 回答
164 浏览

arangodb - 如何在 ArangoDB 中使用 self Join 访问集合中多个文档的数据

我已将数据存储在 ArangoDB 2.7.1 中,与集合名称 DSP 一样:

在这里,单个集合{"content": "Book.xml", "type": "string", "name": "name", "key": 102}表示集合中的单个文档。

现在,我想访问key多个文档中具有相似属性值的所有文档,或者类型为计算机的值标题和价格”以获得相同的key值。我尝试了 AQL asFOR p IN DSP filter p.name == "publish_date" AND p.content == "2000-10-01" AND p.name == 'title' return p但这返回一个空集,因为它是在单个文档中比较,而不是在集合中。

像关系数据库一样,需要某种自联接,但我不知道如何应用自联接。请告诉我如何访问具有相同键属性值的所有文档,其中publish_date“2000-10-01”。我希望此查询的结果是以下文档,因为对应于publish_date值为 2000-10-01 的值为key1031:

0 投票
1 回答
1071 浏览

arangodb - Whats the best method to to filter graph edges by type in AQL

I have the following super-simple graph : picture of graph

What i am trying to do is:

  1. Select all questions where there is a property on the question document called firstQuestion with a value of true.
  2. Select any options that are connected to the question via an outbound edge of type with_options

The following query works, however it feels like there must be a better way to inspect the edge type without using string operations - specifically the concatenation operation i use to recreate the edge _id value by joining it to the key with the edge type i want - is this the best way to inspect the type of edge?

0 投票
2 回答
1466 浏览

arangodb - 安全删除 ArangoDB 中的顶点(使用 _ids)?

我正在使用 AQL 为 ArangoDB 中的顶点和边创建一些删除查询,并且我认为将有一种“安全”的方式来删除也会删除关联边的顶点。但我在文档或其他任何地方都找不到。以下是进行安全删除的最佳方法吗?

结合

另外,有没有办法使用 s 删除顶点(或边),_id或者是否有必要使用_keys?我无法让前者工作。

0 投票
1 回答
98 浏览

python - 如何通过增加单个集合中的文档数量来提高 ArangoDB 2.7 中的检索查询性能

我已将数据存储在 arangoDB 2.7 中,格式如下:

就像我将文档数量增加到 1000、10000、100000、1000000、10000000 等等一样。平均查询响应时间随着文档数量的增加而增加,从 0.2 秒到 3.0 秒不等。我已经在这个集合上创建了哈希索引。我的问题是我们是否可以通过增加文档数量来减少这种情况。

另一方面,我还在内容组件上创建了全文索引,在全文搜索中也会发生同样的事情,响应时间从 0.05 秒到 0.3 秒不等。

所以告诉我有什么办法可以进一步减少这个时间..

请告诉我我们可以进一步缩短响应时间吗?

0 投票
3 回答
1345 浏览

arangodb - ArangoDB AQL 中 (n) 个数组的交集

场景是这样的:我有一个包含项目的 ArangoDB 集合,以及另一个包含标签的集合。我正在使用图表,并且我有一个名为“包含”的边缘集合连接项目和标签。一个项目有多个标签。

现在我正在尝试搜索包含多个标签的项目。例如,包含标签“photography”、“portrait”和“faces”的项目。

我的一般方法是从每个标签顶点开始一个图遍历,并找到与该标签相关的项目。那部分工作正常。我得到一个项目清单。

但我任务的最后一部分是对所有列表进行交集,以便找到包含所有指定标签的项目。我无法弄清楚如何做到这一点。

我想做的是这样的:

但是,它不起作用:INTERSECTION 函数不适用于单个列表,而是适用于多个项目,例如:INTERSECTION(listA, listB, listC...)。

如何使 FOR .. RETURN 块中的列表相交?

0 投票
1 回答
1256 浏览

graph - ArangoDB - 如何使用图实现自定义推荐引擎?

假设我们有一个食品数据库,例如:

我们有一个用户在寻找食物推荐,他们在其中指出了他们对某些标签的偏好权重:

现在我们需要计算每个项目的得分情况并推荐最佳项目:

我已将问题建模为图表:示例图

获得建议的正确方法是什么 - 自定义遍历对象或仅使用 AQL 过滤和计数或仅在 Foxx(javascript 层)中实现它?

另外,您能否为您建议的方法提供示例实现?

提前致谢!

0 投票
2 回答
2964 浏览

aerospike - Aerospike AQL count(*) SQL 模拟脚本

好的,所以问题是我需要在 aerospike 的 aql 控制台上进行聚合查询。具体来说,我想取一组记录的平均值,并计算一组中的所有记录。我什至不知道如何开始......

0 投票
1 回答
812 浏览

arangodb - 如何在 AQL 中为 arangodb 引用/转义字段名称?

我找不到引用其中包含空格的字段名称的位置,例如在执行时

上面的 sql 样式引用不起作用,数组访问也不起作用。正确的方法是什么?

0 投票
1 回答
270 浏览

graph - ArangoDB 将顶点和边复制到邻居

我正在尝试复制一个顶点节点并在 ArangoDB 中保留它的关系。我收到“数据修改后访问”错误 (1579)。当我遍历源节点的边缘并在循环中插入边缘副本时,它不喜欢它。这是有道理的,但我正在努力弄清楚如何在单笔交易中做我想做的事。