问题标签 [arangojs]

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 回答
476 浏览

arangodb - ArangoDB AQL:我可以从多个起始顶点遍历一个图,但确保所有遍历的唯一顶点?

我有一个包含大量相对较小的不相交图的图形数据集。我需要从一组匹配特定搜索条件的顶点中找到所有可到达的顶点。我使用以下查询:

查询很慢,即使它返回正确的结果。这是因为 Arango 实际上最终会多次遍历相同的子图。例如,假设有以下子图:

当过滤条件选择顶点 a 和 c 时,Arango 最终会从 a 和 c 开始进行两次独立的遍历。它在这两个遍历过程中访问顶点 d 和 e,这会浪费时间。添加 uniqueVertices 选项没有帮助,因为在不同的遍历中不会检查顶点的唯一性。

为了确认对性能的影响,我创建了一个额外的根文档,并将其中的链接添加到我的过滤器找到的所有文档:

现在,以下查询的运行速度比我的原始查询快 4 倍,同时产生相同的结果:

不幸的是,我无法为所有查询创建假顶点/边,因为创建它需要更多时间。

我的问题是:Arango 是否提供了一种方法来确保在给定查询中的所有遍历中访问的顶点的唯一性?如果没有,有没有更好的方法来解决上述问题?

0 投票
0 回答
194 浏览

go - 通过 Arango DB 中的不同集合进行查询并在路径边缘应用过滤器

我有如下图所示的图形数据库结构。

在此处输入图像描述

如前所述,我有3 个文档集合 - Collection 1Collection 2Collection 3。我也有2 个Edge 集合 - Edge Collection 1有一个属性类型,它可以采用两个值T1T2Edge Collection 2

我有一个满足集合 1 的特定过滤条件的文档列表 - 所有状态属性已完成的文档。假设列表如下

现在,从列表中的每个项目作为开始,我需要找到沿着Edge Coll 1中的边缘遍历的集合c2,并且该边缘必须是 T1 类型,该项目使用 Edge Coll 1 中的边缘和类似的集合项目c3沿着边缘遍历在Edge Coll 2中。

获得两者后,我需要将其存储为三元组 - {coll 2, coll 1, coll 3} 对于列表中找到的每个 coll 1 项目

我知道我可以使用type == T1 和 _from == coll 1._id过滤Edge Coll 1中的项目。

同样,我可以重复Edge Coll 2并将这两个结果合并到我的后端 (GoLang) 中。

但是,如果我能够使用图形遍历和单个宏(类似于 SQL 宏),那会很慢并且会更好。那时我只需要对 DB 进行一次后端调用。

0 投票
1 回答
41 浏览

javascript - 如何移动代码以设置 ut DB 并从我的文件中收集并要求它?

所以,假设我有这个完美运行的代码。

但是我想将顶部代码移到另一个文件中,只需要 db 和 collection,我该如何让它工作?一直在努力让它工作太久了。

0 投票
1 回答
170 浏览

node.js - 尝试在 arangodb 中同时执行两个查询时出现连接重置错误?

我正在使用arangojs v6.14.1arangodb version 3.6.4.。我也有nodejs用于服务客户请求的快速应用程序。

我在执行并发请求时遇到问题。我同时处理客户端请求时的数据库连接挂断:

应用收到请求后会做什么?

打开数据库连接 -

有多个中间件功能需要访问以执行各种功能和可访问性检查。对于我尝试的每个中间件

  • 打开一个新的数据库连接->
  • 执行动作 ->
  • 关闭连接->
  • 将结果返回到下一个中​​间件。

这适用于一次单个请求。但是如果我尝试同时调用两个 API,我会收到 CONNECTIONRESET 错误。并且还会抛出套接字挂断错误。

我试图推荐关闭连接方法,它开始正常工作了一段时间。但是当我增加连接数时,它再次显示与“CONNECTIONRESET”相同的错误。

我已经搜索了arangojs有关连接操作的文档。但我还没有找到任何有关相同的信息。

任何帮助将不胜感激。

0 投票
2 回答
144 浏览

node.js - ArangoDB:使用嵌套对象集合键加入

在 ArangoDB 连接查询方面需要一些帮助。我有如下文档,其中 User 包含嵌套对象中的 Group 集合键(groups)。当我查询用户时,我需要加入组集合并更改响应。应该WITH QUERY只做。请检查下面给出的示例以获得更清晰的信息。

我试过这个查询:

它返回groupsasArray但需要groups成为Object

但它应该是这种格式:

您的帮助将不胜感激!

0 投票
2 回答
158 浏览

graph - 如何将 AQL 与使用彼此结果的多个查询一起使用?

我有 2 个顶点和一个分别命名为用户、设备、所有权的边。

我的业务逻辑是,当我收到设备信息时,我会在其上添加 dateCreated 和 dateUpdated 字段。如果我插入了该设备,那么我会插入具有默认值的新用户并创建到它的边缘连接。如果我更新,我会简单地返回已连接的用户。 在此处输入图像描述

在不失去原子性的情况下,我怎样才能做到这一点?

我尝试了单个 AQL 查询,但没有条件它似乎是不可能的,并且插入/更新操作也不支持遍历。

我可以进行单独的查询,但这会失去原子性。

0 投票
1 回答
27 浏览

node.js - 在 ArangoJS 中创建 ArangoSearchView 时如何自定义链接属性

我尝试在 arangojs 中创建一个 ArangoSearchView,但我不知道如何设置视图属性。这是我的代码:

但是,我得到了这个结果: 在此处输入图像描述

0 投票
1 回答
45 浏览

arangodb - Arango 数据库复制应用程序不工作

我正在尝试设置 Arango 的主从模型。能够进行第一批更新,但实时同步应用程序不起作用。它在索引约束上一直失败,这在 master 中工作得很好,并且没有重复键问题。

应用程序状态。

我尝试了(同步,异步)一切。它只是进行第一批更新,并没有进行实时更新。不知何故,应用程序刚刚关闭。请帮忙

0 投票
1 回答
23 浏览

javascript - ArangoDB:发送“statusCode:0”

有没有人在尝试从 React 应用程序连接到 ArangoDB 时遇到此错误消息 [参见第一张附加照片]?看起来,这可能是一个与身份验证有关的问题......但我尝试使用“_system”和我自己的数据库,将展位“root”作为用户名,将“root”作为密码,并将密码设置为“无效的”。我尝试创建新用户并尝试连接到数据库...没有任何效果...(我做错了什么?-此时我已经阅读了十亿次文档)。我也会附上我的代码照片。 错误图片, 我的代码图片

0 投票
1 回答
140 浏览

arangodb - 使用 ArangoSearch LIKE 搜索带空格的字符串

我在一个集合上创建了一个 ArangoSearch 视图,并使用带有 LIKE 的通配符的 SEARCH 关键字来搜索带有空格的字段,类似于 MySQL 的方式。我遇到的问题是,即使肯定存在带有《星球大战》标题的记录,我仍然会得到一个空集。

请注意,搜索“%star%”有效并返回结果...只要我添加空格并搜索“%star wars%”,查询就会返回空集。

这是查询

这是结构,运行arango 3.7.2版本

在此处输入图像描述