问题标签 [arangodb]
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.
arangodb - 在 ArangoDB 中插入数组值
我有一个像这样的文件。
{“节点”:{“-name”:“Dev6”,“接口”:[{“-ip”:“10.20.18.65”,“-mask”:“255.255.255.192”},{“-ip”: “10.20.18.129”,“-掩码”:“255.255.255.192”}]}}
我的 perl 程序如下。
它返回“无效的绑定参数值”。我认为 ArangoDB perl 驱动程序不支持它。如何使用 AQL 或 REST API 来实现它?谢谢!
collections - 从备份中恢复 ArangoDB,包括用户密码
我有一个 ArangoDB 1.4 实例,我需要从备份中恢复。我使用 arangodump 备份数据库,并使用 arangorestore 进行恢复。除了 _users 集合中的用户密码外,所有数据似乎都已正确恢复。它在用户文档上创建一个名为密码的属性,其中包含一个加密字符串。有没有办法让它恢复用户密码?
更新:再看一遍,一切都导入错误。正在使用包含已导入文档的所有数据的数据属性导入文档。这显然行不通。如何让这些数据正确导入?
更新 2:看起来导入过程可能工作正常,但是转储变得很奇怪。它使用这样的包装文档转储每个文档:
不确定“type、key、rev、data”包装文档的用途,但似乎在搞砸恢复过程。在最坏的情况下,我将编写一个脚本,在没有包装器的情况下导入这些文档。但如果有更好的方法来做到这一点,那就太好了。
arangodb - arangob 不能发送超过 1000 个请求
我使用 arangob 来测试 ArangoDB 的性能,但是 arangob 不能发送超过 1000 个的请求。“操作总数:”始终为 1000。
我的终端输出如下。
arangodb - 如何提高 ArangoDB 中的插入性能
我的环境是本地机器:ubuntu 12.04 ArangoDB 2.2.4 or 2.2.3 perl driver(ArangoDB) CPU: 3 core 6 threads mem: 3GB
我使用了保存方法。保存方法等于 HTTP_GET 和 HTTP_POST。执行结果如下:
- 一个 perl 进程,插入 30000 个文档。平均 700 个请求/秒。350 HTTP_GET 和 350 HTTP_POST。
- 10个perl进程,插入30000个文档。平均 1000 个请求/秒。500 HTTP_GET 和 500 HTTP_POST。
运行 30 秒后,它会报告 HTTP 500 错误。我修改了 perl 驱动程序(ArangeDB)代码以重试它。所以我可以完成这个测试。
当 arangodb 报告 HTTP 500 错误时,它的日志如下。
我希望我的程序可以执行平均 3000-5000 个请求/秒并减少 HTTP 500 错误。我可以使用哪些改进。谢谢!
2014 年 7 月 10 日更新,我的插入示例脚本如下。我用 AQL 替换了保存方法。一个 perl 进程,插入 10000 个文档,平均 900 个请求/秒,1000 个 HTTP_POST/秒。(无 HTTP 500)一个 perl 进程,插入 30000 个文档,平均 700 个请求/秒,700 个 HTTP_POST/秒。(会发出HTTP 500,需要重试)
我已经修改了 Arangodb-0.08 以便在 Connection.pm 中顺利插入。http_post 方法:
arangodb - 如何使用已安装的 v8 配置和编译 ArangoDB
我正在尝试在运行 Debian for armhf 的 Cubietruck 板中编译 ArandoDB 2.2.3 由于 3rdParty V8 将无法编译并会抛出错误“#error Target architecture ia32 is only supported on ia32 host”,我决定安装 libv8-dev,所以我的系统拥有 ArangoDB 所需的所有头文件和库。如何告诉 ArangoDB 配置实用程序使用当前的 v8 头文件和 lib 文件?
没用,出现这个错误:
...
谢谢你的帮助。
arangodb - 重命名集合名称后插入异常
我的操作如下:
使用插入脚本在“节点”集合中插入 100 万个文档。ArangoDB 消耗了 30MB 内存。
将“Node”集合重命名为“Node_temp”。
使用插入脚本在“节点”集合中插入 100 个文档。这是成功的。
经过这些操作,我发现了一个问题。在Admin webUi(ArangoDB)中,当我单击“节点”以在“集合”页面中查找文档时,很长时间没有响应。ArangoDB 消耗了 900MB 内存。过了很长一段时间(超过 5 分钟),网页打开,显示“节点”集合中有 100 万个文档。我认为重命名操作可能有问题。
arangodb - 如何在多进程中使用 arangodb 集合
我使用 Anyevent::Fork::Pool 或 Parallel::ForkManager 来创建 100 个 perl 进程。我想在 Global 中创建数据库和集合,并在函数中使用集合对象。但它不起作用。我的示例代码如下:
这是反馈“错误无法在未定义的值上调用方法“http_get””。我在全局和函数中打印 $Node_Coll。这不一样。
在全局中,$Node_Coll 是正常的。但它在功能上是错误的。在函数中: bless( { 'db' => undef, 'name' => 'Node', 'status' => 3, 'code' => 200, '_api_path' => '/_api/collection/250177068120', 'id' => '250177068120', '连接' => undef }, 'ArangoDB::Collection' );
如果我输入“我的 $Node_Coll = $itdb->('Node');” 在本地功能中,没关系。像这样。子函数{ 我的 $Node_Coll = $itdb->( 'Node' ); $Node_Col->count(); }
我不知道为什么它会这样工作。我认为当“$itdb->('Node');”时它可能在多进程中使用一个套接字 在全球。因为“$itdb->('Node');” 将发送一个 http_get 请求,它会产生额外的负载,尤其是在多进程环境中。如果我们能保存它就更好了。
2014 年 8 月 10 日更新:数据准备:将一些数据插入集合“节点”。执行方法: 1. 保留脚本。并执行$./count_srv.pl 2.修改脚本。评论“我的 $Node_Coll = $itdb->('Node');” 在计数()中。在全局中取消注释。并执行 $./count_srv.pl
count.pm 如下:
count_srv.pl 如下:
arangodb - ArangoDB - 如何通过数组元素的子字符串查找集合中的元素?
有一个具有这种结构的集合:
我需要找到这个集合的一个元素,在关键数据中有一个值包含一个包含子字符串 xga5fd7h68745v46ed2 的字符串
我可以写这个查询吗?它会是什么样子?
time - 我可以更改 ArangoDB 日志的时区吗?
我住在日本,所以想将ArangoDB日志的时区从默认更改为UTC+9:00。也许我必须更改配置文件的某个地方,但我没有意义。
lastinsertid - 最后使用 AQL 在 ArangoDB 中插入 _key?
如何使用 AQL 查询在 ArangoDB 中接收最后插入的 _key?我将项目放在集合中,以下元素必须包含 _key 创建的元素。我如何获得这个_key?