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

node.js - ArangoSH 无法连接 arangodb

我刚刚在 MacOS 上安装了 arangodb(版本 3.1.17),但我似乎无法让 arangosh 工作。

我通过自制软件安装了 arangodb,它工作正常。(如果我在浏览器中输入 127.0.0.1:8529,我可以启动服务并打开初始页面)。

但是,当我尝试通过 ssh 客户端 (arangosh) 连接到它时,我收到以下消息:

我已经修改了配置文件,去掉了#,希望不会有认证:

但错误仍然存​​在。我想创建一个数据库并向其中添加用户,但如果我无法通过 shell 连接,我相信这是不可能的。另外,我无法连接到网页,因为我不知道初始密码。

有谁能给我解答一下这个问题,拜托。

0 投票
1 回答
197 浏览

arangodb - 具有多个属性和 FULLTEXT 搜索的 ArangoDB 查询

下面是我的收藏结构,有3个收藏,图片,类别和标签

我想过滤所有具有关键字(全文搜索)的“图像”,如“牛”,属于“动物”类别并标记为“照片”

如何使用 ArangoDB 进行此过滤,我正在使用 nodejs / foxx 。请帮忙。

0 投票
1 回答
350 浏览

arangodb - 在 ArangoDB 中,如何根据图遍历期间访问的顶点构造(投影)一个 RETURN 对象

我是 ArangoDB 和基于图形的遍历查询的新手。

这是我的图表目前的结构。每个顶点至少有一个属性(键值对)。你可以认为它有一个依赖树。每个父节点(具有自己的属性)都依赖于子节点(再次具有自己的属性)。没有继承只是父母与孩子的关系。

让我们说这个例子:

vertex1{ key1: value1 }

顶点 2{ key2 : value2, key3: value3 }

vertex3{ key4 : value4 }

vertex4{ key5 : value5 }

在此处输入图像描述

我已经从文档中找出了基本的图形遍历,但是我有一个特定的要求,即根据从顶点 1 到最大深度的存在(访问)的顶点来构造返回的对象结构。

RETURN 对象必须具有以下结构:如您所见,随着顶点深度的增加,对象将嵌套在父节点下。

我不能要求您为我编写查询,但非常感谢任何帮助,并将让我朝着正确的方向前进。

根据我目前的理解:

如果您需要更多信息,请告诉我

0 投票
1 回答
173 浏览

javascript - 在 arangojs 中配置 TLS 证书授权

我创建了自己的证书颁发机构来为我的开发环境生成 TLSv1.2 证书。我的 CA 有一个根证书、一个由根签名的中间证书和一些由中间证书签名的“叶”证书。我使用其中一个叶子证书来安全地连接到 arangodb 服务器。arangod 进程似乎运行良好,因为在浏览器中安装根/中间证书后,我可以成功访问 Web 界面以与数据库交互。

当我尝试使用 arangojs javascript 驱动程序将我的 nodejs API 服务器连接到数据库时,问题就开始了,正如我在https://github.com/arangodb/arangojs#new-database中所解释的那样:

如果您需要支持自签名 HTTPS 证书,您可能需要将您的证书添加到 agentOptions,例如:

agentOption 配置在使用自签名证书时有效,并且:

但在使用我自己的 CA 签名证书时失败,并且:

我还尝试了其他几个 ca 设置,例如: 1. 传递 [root, interm] 证书缓冲区 2. 传递 [interm, root] 证书缓冲区(交换顺序) 3. 传递 [root+interm] 证书缓冲区(单个连接文件) 4.传递 [interm+root] 证书缓冲区(如上,交换顺序),但这似乎都不起作用。我总是从 arangojs 收到一条很长的错误消息,其中一开始我看到 UNABLE_TO_VERIFY_LEAF_SIGNATURE

通过查找它,我发现了对 node-ssl-root-cas npm 模块的引用,但是由于我使用的是我自己的 CA,所以我不明白为什么要使用它(我也尝试过但也没有工作)。

我的问题似乎与https://github.com/arangodb/arangojs/issues/39类似,但解决方案似乎与上面的文档 1:1 同步,但仍然无法正常工作。

最后我认为这只是 arangojs 中的 agantOptions 的一个微妙的配置问题。有人可以指出我正确的配置吗?

0 投票
1 回答
302 浏览

node.js - ArangoDB 事务不会因错误而回滚

更新:找到解决方案。ARANGODB 集群不支持交易。它仅支持单个实例。

我正在尝试使用 arangoJS 库来使用交易功能。我将介绍的函数只是一个虚拟函数,它插入两条记录,然后尝试获取一个不存在的文档。获取不存在的文档会产生错误,并且事务必须回滚。实际上,在尝试获取不存在的文档后会生成错误。但是,数据库并没有回滚,两个插入的文档仍然插入到数据库中。有谁知道如何解决它?

更新:我在单个实例 ArangoDB 上尝试了此事务并且它有效。但是,它不适用于集群。不支持 ArangoDB 集群上的事务吗?

0 投票
1 回答
249 浏览

arangodb - 普通集合和顶点集合的区别

我在如何使用 ArangoJs 在 ArangoDb 图中存储文档?

现在我有以下用例:我有一个使用 ArangoDb 的后端,并且有 2 个用于 USER 和 LOCATION 的普通集合。现在我想从用户的角度实现一个位置的“评级”。

所以我认为通过图表来设计这个是个好主意。据我了解,我必须创建一个图表并使用边缘集合来保存它。

我不明白的是普通集合和顶点集合之间的区别。当然,我希望图形“管理”-> 意味着当我删除位置或用户时,“边缘”也应该被删除。

如何根据我当前的基础架构实现这一目标。(在引用的 stackoverflow 问题中,该示例已使用“顶点”集合)

TIA

0 投票
0 回答
32 浏览

arangodb - ArangoDB 协调器滞后

我们正在运行一个包含以下内容的生产数据库集群:

三台 AWS linux 服务器,每台都包含一个协调器、一个代理和一个主数据库。所有三台服务器都位于 AWS 上的专用网络中。数据库作为 docker 镜像运行(ArangoDB v3.1.24)。

集群是一致的并且运行平稳。但是,每隔几天,一个或多个协调员会在几个小时内生成以下警告,然后一切都会恢复正常:

我真的无法弄清楚为什么会发生这种情况,以及为什么它会自行停止发生。

PS:发生这种情况时,我无法访问 Arango 仪表板,但是数据库仍然可以正常工作。

0 投票
1 回答
35 浏览

arangodb - 突然没有更多日志,没有设置或配置更改

直到两天前我一直在捕捉日志,现在突然之间我没有看到任何日志。我没有触摸命令行。我刚刚更新了我必须在数据库中保存文档的唯一服务。

阿兰戈德版本。3.1.6 环境 Ubuntu 14.04 / Nginx

问题: 根本没有日志。附上截图。

我试过了: 在更新、设置、配置或任何东西方面,服务器没有任何变化。如果我去 /var/log/arangod/arangod.log - 它说找不到文件。

任何方向或帮助将不胜感激。

https://gifyu.com/image/MALB

0 投票
2 回答
449 浏览

node.js - 使用 arangodb 和 nodejs 进行简单查询

我想在我的数据库 arangodb 中使用 nodejs 执行一个简单的查询以获取登录页面。

它正在工作,但我无法在我的 var passworddb 中保存密钥的结果......我不明白......请求在 arangodb 中是异步的

Console.write(passworddb) 返回“未定义”并在 console.log('key:', key) 正确返回密钥之后......两次。

我的问题是:我怎样才能只获取 arangodb 中的密码(一次请求的查询是什么)以及如何将值存储在我的 var 中?

谢谢您的回答。

0 投票
0 回答
297 浏览

vue.js - ArangoDB 响应中的“Access-Control-Allow-Credentials”标头为“假”

我正在尝试从 Vuejs 应用程序的 ArangoDb 数据库集合中获取文档。当我在节点控制台中运行下面的代码时,它工作正常。

但是当我从 Vuejs 应用程序运行它时(唯一的区别是我将 'require' 语句替换为“import {Database, aql} from 'arangojs'”),它返回:

加载http://localhost:8529/_db/mydb/_api/cursor 失败:对预检请求的响应未通过访问控制检查:响应中“Access-Control-Allow-Credentials”标头的值为“ false',当请求的凭证模式为“包含”时,它必须为“真”。因此不允许访问源“ http://localhost:8080 ”。XMLHttpRequest 发起的请求的凭证模式由 withCredentials 属性控制。

难道是' db.useBasicAuth('root', 'degfra'); ' 在应用程序中不起作用?或者还有关于在浏览器中使用 arangojs 的问题吗?谢谢您的帮助。