问题标签 [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.
arangodb - Arango beginTransaction() not rolling back with trx.abort()
I'm having some difficulty with arangodb.beginTransaction()
. In my tests, creating a transaction, calling a function via trx.run()
API and then aborting the trx
does not roll back the data changes on the database. I'm unclear what is happening and the documentation is extremely sparse. There is this documentation which is quite ominous, but also very vague:
If the given function contains asynchronous logic, only the synchronous part of the function will be run in the transaction. E.g. when using async/await only the code up to the first await will run in the transaction.
What about nested async/await inside the async function being called? For example, if I have this:
Will this.arangodb.query()
execute inside the transaction or not?
limit - Arango DB 查询限制不能超过 1000?
有没有办法更改 arango db 中结果的默认限制?我有一个包含超过 1000 条记录的集合,似乎不可能将它们全部检索。
我正在使用带有节点的 arangojs 驱动程序,并且我还尝试在 arango Web 界面中运行简单查询(也将限制设置为 > 1000,它不会检索超过 1000 条记录)。
我已经尝试过的其他事情:
使用 arango 函数获取完整集合
/li>使用 arango 函数运行查询而不设置限制
- 运行查询尝试对结果进行分页
在所有情况下(包括最后一个),结果仅限于前 1000 条记录,就像它们没有存储在集合中一样。
任何可以帮助的人?谢谢
docker - ArangoDB 单实例作为 Docker 容器填充内存并重新启动
我们正在运行 ArangoDB v3.5.2
。Docker 容器以随机间隔意外重启,所有连接的客户端都断开连接。经过进一步调查,我们发现运行 Arango 的 Docker 容器正在完全达到分配给它的内存。自从容器开始运行以来,内存就会逐渐填充,并且它永远不会关闭,直到它被填充并且容器重新启动。
下面是用于运行容器的 docker 命令
为什么内存一直在增加,不下降,尤其是在不使用的时候?我该如何解决这个问题?
我的环境
- ArangoDB 版本:3.5.2
- 存储引擎:RocksDB
- 部署模式:单服务器
- 部署策略:在 Docker 中手动启动
- 配置:
- 基础设施:AWS t3a.small 机器
- 操作系统:Ubuntu 16.04
- 您机器中的总内存:2GB。但是,容器的限制是 1.2GB
- 使用磁盘:SSD
- 使用的包:Docker
arangodb - Arango 搜索视图中不支持 LIKE 运算符
Arango Search 似乎不支持 LIKE 运算符。
其他受支持的运算符工作正常。
试过这个 AQL:
但它给出了一个错误说:
查询:AQL:未实现:无法评估循环变量 's' 作为 ArangoSearch 不兼容表达式 'LIKE([$0.name,"somesubstring"])' 的一部分(异常位置:C:\vm04-windows\oskar\work \ArangoDB\arangod\IResearch\IResearchExpressionContext.cpp:62)(执行时)(异常位置:C:\vm04-windows\oskar\work\ArangoDB\arangod\RestHandler\RestCursorHandler.cpp:298)
参考这个:https
://www.arangodb.com/docs/3.6/aql/operations-search.html
其他支持的运营商工作正常。
我们如何在 Arango 搜索视图中实现这一点?
LIKE 运算符或模仿相同的行为。
database-performance - ArangoDB 中的 UPDATE 出现奇怪的性能问题
我正在创建一个使用 ArangoDB 作为数据存储的 Node.js 应用程序。基本上,我拥有的数据结构是两张表,一张用于管理所谓instances
的entities
. 我要做的是:
- 对于我拥有
instances
的每一个,集合中都有一个文档。instance
- 每当我将实体添加到
entities
集合中时,我还想跟踪属于特定实例的实体。 - 因此,每个
instance
文档都有一个用于 的数组字段entities
,我将实体的 ID 推送到该数组中。
以下代码显示了一般大纲:
现在的问题是,我添加的实体越多,这变得非常慢。它基本上呈指数增长,尽管我预计会线性增长:
添加索引会产生效果,但不会改变整体问题的任何内容:
问题可以追溯到UPDATE
语句。如果你把它排除在外,只使用数据库的INSERT
语句,事情就会线性扩展。因此,更新本身似乎有问题。但是,我不明白问题出在哪里。
这就是我想理解的:为什么UPDATE
语句会随着时间的推移而显着变慢?我用错了吗?这是 ArangoDB 中的一个已知问题吗?……?
我不感兴趣的是讨论这种方法: Please take is as given。让我们关注UPDATE
语句的性能。有任何想法吗?
更新
正如评论中所要求的,这里有一些关于系统设置的信息:
- ArangoDB 3.4.6、3.6.2.1 和 3.7.0-alpha.2(都在 Docker、macOS 和 Linux 上运行)
- 单服务器设置
- ArangoJS 6.14.0(我们在早期版本中也有这个,虽然我不能告诉确切的版本)
docker - docker-entrypoint-initdb.d 上的 Arangodb 连接失败
我正在尝试初始化我的 docker arangodb,但不断收到连接错误:我尝试将服务器端点更改为 http+tcp://..... 但错误仍然存在,会发生什么?
码头工人-compose.yml:
Dockerfile:
arango-dump/01-Create.sh:
错误:
非常感谢
arangodb - 我可以在查询中使用多个 FULLTEXT() 搜索吗?
如何更改查询以便在一个查询中使用两个全文搜索?下面是我现在查询的简化版本。它不起作用 - 它只给我第一次FULLTEXT()
搜索的结果。
arangodb - AQL:在运算符上绑定参数
有没有办法在运算符(“<”,“<=”等...)上使用绑定参数?我正在开发 Foxx 服务。
例子 :
我可以这样做db._query
:
database - Arango AQL 查询不在
我正在创建一个类似 Facebook 的网站,我想为在同一所学校学习但还不是朋友的用户推荐朋友。
我已经尝试使用 AQL 查询来执行此操作,但似乎存在语法问题..
错误代码返回是:
语法错误,'user._key not in (forfriend in ...' at 3:3 位置附近的意外标识符 (解析时))