问题标签 [arangodb-php]

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 投票
0 回答
23 浏览

arangodb-php - 使用 PHP 将大量循环/批量插入到 ArrangoDB

我希望使用 PHP 将 180-250k 文档批量写入 ArrangoDB 集合。
添加单个文档非常容易。将文档插入循环并进行 1000 次单独插入同样容易。但是,这肯定不是批量插入数千个文档的最优化和最合适的方法吗?

在 PHP 中执行此操作的最佳方法是什么?可以对设置进行哪些调整来提高这种要求的性能?将 100k 批文档写入集合的最快方法是什么?

任何见解,想法和帮助将不胜感激!

我正在使用 PHP 7、ArrangoDB 3.4

0 投票
1 回答
154 浏览

php - 如何为 arangodb-php 中的流式事务增加“maxTransactionSize”

文档说作为事务属性传递(对 的调用/begin):

maxTransactionSize:以字节为单位的事务大小限制。仅由 RocksDB 存储引擎授予。

我设法做到了这一点,尽管php-client 忽略了该属性,通过在我将事务实例交给处理程序之前手动设置它:

这是直接在调用之前var_dump的事务属性 ( ) :$trx->attributesbegin

但交易失败:

错误:AQL:中止事务,因为达到了 134217728 字节的最大事务大小限制(执行时)

我错过了什么/做错了什么?

我在 3.5.4 和 3.6.1 上对此进行了测试,结果相同。

0 投票
0 回答
14 浏览

arangodb - arangodb PHP 搜索具有未定义数量过滤器的文档

我正在尝试用 PHP 编写一个 AQL 查询来过滤集合中的文档。过滤器参数的数量仅在运行时确定。编写该代码的最有效方法是什么。

例如,一个查询可能是

  1. FOR u IN users FILTER u.id == @id RETURN u

另一个可能是 2. FOR u IN users FILTER u.id == @id && u.loc = @location RETURN u

可能有很多组合,所以我必须在一个函数中处理所有情况。

此时我唯一的方法是连接多个字符串以创建最终的查询字符串。