问题标签 [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.
node.js - ArangoSH 无法连接 arangodb
我刚刚在 MacOS 上安装了 arangodb(版本 3.1.17),但我似乎无法让 arangosh 工作。
我通过自制软件安装了 arangodb,它工作正常。(如果我在浏览器中输入 127.0.0.1:8529,我可以启动服务并打开初始页面)。
但是,当我尝试通过 ssh 客户端 (arangosh) 连接到它时,我收到以下消息:
我已经修改了配置文件,去掉了#,希望不会有认证:
但错误仍然存在。我想创建一个数据库并向其中添加用户,但如果我无法通过 shell 连接,我相信这是不可能的。另外,我无法连接到网页,因为我不知道初始密码。
有谁能给我解答一下这个问题,拜托。
arangodb - 具有多个属性和 FULLTEXT 搜索的 ArangoDB 查询
下面是我的收藏结构,有3个收藏,图片,类别和标签
我想过滤所有具有关键字(全文搜索)的“图像”,如“牛”,属于“动物”类别并标记为“照片”
如何使用 ArangoDB 进行此过滤,我正在使用 nodejs / foxx 。请帮忙。
arangodb - 在 ArangoDB 中,如何根据图遍历期间访问的顶点构造(投影)一个 RETURN 对象
我是 ArangoDB 和基于图形的遍历查询的新手。
这是我的图表目前的结构。每个顶点至少有一个属性(键值对)。你可以认为它有一个依赖树。每个父节点(具有自己的属性)都依赖于子节点(再次具有自己的属性)。没有继承只是父母与孩子的关系。
让我们说这个例子:
vertex1有{ key1: value1 }
顶点 2有{ key2 : value2, key3: value3 }
vertex3有{ key4 : value4 }
vertex4有{ key5 : value5 }
我已经从文档中找出了基本的图形遍历,但是我有一个特定的要求,即根据从顶点 1 到最大深度的存在(访问)的顶点来构造返回的对象结构。
RETURN 对象必须具有以下结构:如您所见,随着顶点深度的增加,对象将嵌套在父节点下。
我不能要求您为我编写查询,但非常感谢任何帮助,并将让我朝着正确的方向前进。
根据我目前的理解:
如果您需要更多信息,请告诉我
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 的一个微妙的配置问题。有人可以指出我正确的配置吗?
node.js - ArangoDB 事务不会因错误而回滚
更新:找到解决方案。ARANGODB 集群不支持交易。它仅支持单个实例。
我正在尝试使用 arangoJS 库来使用交易功能。我将介绍的函数只是一个虚拟函数,它插入两条记录,然后尝试获取一个不存在的文档。获取不存在的文档会产生错误,并且事务必须回滚。实际上,在尝试获取不存在的文档后会生成错误。但是,数据库并没有回滚,两个插入的文档仍然插入到数据库中。有谁知道如何解决它?
更新:我在单个实例 ArangoDB 上尝试了此事务并且它有效。但是,它不适用于集群。不支持 ArangoDB 集群上的事务吗?
arangodb - 普通集合和顶点集合的区别
我在如何使用 ArangoJs 在 ArangoDb 图中存储文档?
现在我有以下用例:我有一个使用 ArangoDb 的后端,并且有 2 个用于 USER 和 LOCATION 的普通集合。现在我想从用户的角度实现一个位置的“评级”。
所以我认为通过图表来设计这个是个好主意。据我了解,我必须创建一个图表并使用边缘集合来保存它。
我不明白的是普通集合和顶点集合之间的区别。当然,我希望图形“管理”-> 意味着当我删除位置或用户时,“边缘”也应该被删除。
如何根据我当前的基础架构实现这一目标。(在引用的 stackoverflow 问题中,该示例已使用“顶点”集合)
TIA
arangodb - ArangoDB 协调器滞后
我们正在运行一个包含以下内容的生产数据库集群:
三台 AWS linux 服务器,每台都包含一个协调器、一个代理和一个主数据库。所有三台服务器都位于 AWS 上的专用网络中。数据库作为 docker 镜像运行(ArangoDB v3.1.24)。
集群是一致的并且运行平稳。但是,每隔几天,一个或多个协调员会在几个小时内生成以下警告,然后一切都会恢复正常:
我真的无法弄清楚为什么会发生这种情况,以及为什么它会自行停止发生。
PS:发生这种情况时,我无法访问 Arango 仪表板,但是数据库仍然可以正常工作。
arangodb - 突然没有更多日志,没有设置或配置更改
直到两天前我一直在捕捉日志,现在突然之间我没有看到任何日志。我没有触摸命令行。我刚刚更新了我必须在数据库中保存文档的唯一服务。
阿兰戈德版本。3.1.6 环境 Ubuntu 14.04 / Nginx
问题: 根本没有日志。附上截图。
我试过了: 在更新、设置、配置或任何东西方面,服务器没有任何变化。如果我去 /var/log/arangod/arangod.log - 它说找不到文件。
任何方向或帮助将不胜感激。
node.js - 使用 arangodb 和 nodejs 进行简单查询
我想在我的数据库 arangodb 中使用 nodejs 执行一个简单的查询以获取登录页面。
它正在工作,但我无法在我的 var passworddb 中保存密钥的结果......我不明白......请求在 arangodb 中是异步的
Console.write(passworddb) 返回“未定义”并在 console.log('key:', key) 正确返回密钥之后......两次。
我的问题是:我怎样才能只获取 arangodb 中的密码(一次请求的查询是什么)以及如何将值存储在我的 var 中?
谢谢您的回答。
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 的问题吗?谢谢您的帮助。