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

database - 如何确保文档中的字段在 ArangoDB 中是唯一的?

我在 ArangoDB 中创建了一个集合,需要说一个字段是唯一的。例如,我需要说在 'user_table' 中,'email' 是唯一的。怎么做?

0 投票
1 回答
1312 浏览

arangodb - ArangoDb 从所有集合中获取最新文档

我开始认为我对数据的建模有点不正确,因为我无法查询它。

目前我拥有的是一堆客户(每个客户建模为数据库)这些客户有一堆设备:Device1...n(建模为每个设备的集合)这些设备生成消息(建模为设备集合中的文档)。

为了给客户提供良好的反馈,我现在想支持检索客户的最新消息(每台设备一条消息)。

我很难找到描述如何查询多个集合的文档,因为客户可能有 1000 台设备,我宁愿不进行 1000 台查询。

谢谢!

0 投票
2 回答
428 浏览

rest - 通过 REST API 进行 ArangoDB 图操作

是否可以通过 REST API 使用 AQL 查询语言进行图形查询?

谢谢。

0 投票
1 回答
318 浏览

arangodb - 如何估计 ArangoDB 计数函数的执行时间

我正在考虑将 ArangoDB 用于我的一个新项目,但我一直无法找到有关其可扩展性的大量信息。

具体来说,我正在寻找有关计数功能的一些信息。是否有一种可靠的方法(可能是公式)来近似计算集合中与简单布尔值匹配的文档数量需要多长时间?

集合中的所有文档都将具有相同的字段,但具有不同的值。如何确定统计数亿份文档需要多长时间?

0 投票
2 回答
680 浏览

arangodb - 在 AQL 中查询带有偏移量的日期

我有这个文件:

我的当地时间是 GMT+7,因此上面的日期是我当地时间的 2015-08-09 6:41:23。我想在下面发送这个查询,并接收上面的文件

在 AQL 中实现这一目标的最佳方法是什么?

0 投票
1 回答
611 浏览

code-injection - ArangoDB AQL 受注入问题影响?

这些天我正在使用 AQL,并且我正在创建一个用于动态创建 AQL 脚本的库。

因为我没有找到与 PARAMETER INJECTION 问题(如 SQL INJECTION)相关的任何内容,如果我直接在 AQL 查询字符串中设置我的 FILTER 变量,您认为这是否安全?

0 投票
1 回答
1074 浏览

arangodb - 使用 AQL /_api/cursor 而不是 /_api/simple/all 的 Arangodb 分页

Arangodb 具有用于简单查询的 LIMIT 和 SKIP 功能,如何使用 /api/cursor 实现

理想情况下像

或者它只支持使用/_api/simple/all调用

0 投票
1 回答
140 浏览

arangodb - ArangoDB - How can I return only the _id from AQL TRAVERSAL?

I want to return only the _id from edges and vertices from the p.path below.

0 投票
1 回答
141 浏览

javascript - ArangoDB 查询与数组的连续匹配

在 ArangoDB 中,我需要在具有整数矩阵的文档中搜索与数组的一定数量的连续匹配。

示例文件(all are int[5][5])

在java中我有一个int[5] example.:

我需要退回所有符合以下任何一项的文件:

来自 java 数组的至少 4 个数字与任何矩阵行中的至少 4 个连续数字匹配。例如。如果矩阵行有22, 23, **29**, 24, 25它不会匹配,因为数组中没有一组四个数字彼此相邻(但是,如果顺序与数组的顺序匹配并不重要)。但是,如果是的话,22, 26, 23, 24它会匹配,因为数组中至少有四个连续的数字。例如:

与上面相同,但在任何矩阵列而不是行中

与最后两个相同,但对角线,而不是在一行或一列

任何矩阵中没有两个数字是相同的。例如,整个矩阵中的数字不会1超过一次。

我不太确定如何解决这样的问题。目前,我正在查询矩阵中至少有 4 个数字与数组数字匹配的所有文档,但我想有一种方法可以查询这个。我所能想到的就是生成每个可能的矩阵的组合来查询匹配的矩阵,这显然是不现实的。

更新:关于建议使用 JS 扩展的答案,如何解决这个问题?我不熟悉 ArangoDB 扩展。

0 投票
1 回答
183 浏览

arangodb - 使用 ArangoDB EDGES 函数,无法使用 includeVertices 选项获得正确的顶点

使用 ArangoDB 描述好友关系,我想知道特定用户 A 的好友。因为是测试样本,所以我知道 A 和 B 是好友。

我在文档集合和边缘集合中有用户,其中包含从“_from”成为朋友到“_to”的信息。如果 A 是 B 的朋友,则 B 必须是 A 的朋友。即:如果存在一条边 _from A _to B,则确实存在另一条边 _from B _to A。

我在我的朋友集合上使用了函数 EDGES,以知道用户“u4”的哪个朋友,哪个 _id 是 2465087832。他必须是“u1”的朋友,哪个 _id 是 2462335320。因为我想拥有的不仅仅是文档 ID,我将选项“includeVertices”设置为 true。

这是我的要求。

答案是:

结果,我有很好的优势(u4 是 u1 的朋友),但包含的顶点是来自请求用户的顶点(id:u4)。我尝试使用“入站”作为方向,而不是“出站”。

结果是:

如您所见,仍然是“u4”作为顶点,即使是边缘也是好的(u1 是 u4 的朋友)。

最后,我尝试用“any”作为方向。

和令人惊讶的答案:

这里的答案包含两个边(A 到 B 和 B 到 A),这是正确的,但是对于两个顶点都是来自 u1 的那个。这三个结果似乎不一致:对于“入站”/“出站”:顶点是 u4,而对于“任何”,顶点是“u1”。我的代码中有错误吗?我应该使用的选项?

谢谢,

鲍勃西特龙