问题标签 [pyarango]
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.
python-3.7 - 使用 Python 克隆/备份 ArangoDB-Collection
有没有一种 Pythonic 方式来进行快速备份或集合(文档和边缘)的副本?
常规方式似乎是在控制台中使用arangodump/arangoimp。还有一些关于如何在 JS 中在不同服务器上进行完整备份的教程。
我只是在尝试一个简单的案例:直接在现有服务器上复制一个集合。
arangodb - 使用 Foxx CLI 创建服务
我在使用 Foxx 服务 CLI 服务器创建 API 服务期间出现错误“服务器拒绝授权。您的凭据无效或用户权限不足”所以请帮助我
python - pyArango bulkImport_json 抱怨指标不当
我正在测试将由该测试工具的 json 插件生成的 PyTest 结果存储到 ArangoDB 中的能力。我正在尝试按如下方式导入
没有意义的是 JSON 文件格式正确。事实上,使用常规的 Python JSON 模块,它工作得很好:
这行得通。文件的开头是
似乎图书馆pyArango
希望键是整数。我试过这个,那是我尝试更改"report"
为0
. 但是,这导致 JSON 结构无效。
如何使用pyArango库导入 JSON?这个 JSON 文件的整体结构看起来与本页中的任何示例都没有太大区别。非常感谢任何指针。
arangodb - 在 ArangoDB 中查询多个数据库
我想知道是否有在多个数据库上使用 AQL 查询的选项?
使用 pyArango,我知道您可以编写一个遍历所有数据库并执行 AQL 的脚本,但在本地,这可能吗?
go - 通过 Arango DB 中的不同集合进行查询并在路径边缘应用过滤器
我有如下图所示的图形数据库结构。
如前所述,我有3 个文档集合 - Collection 1、Collection 2、Collection 3。我也有2 个Edge 集合 - Edge Collection 1有一个属性类型,它可以采用两个值T1或T2,Edge Collection 2。
我有一个满足集合 1 的特定过滤条件的文档列表 - 所有状态属性为已完成的文档。假设列表如下
现在,从列表中的每个项目作为开始,我需要找到沿着Edge Coll 1中的边缘遍历的集合c2,并且该边缘必须是 T1 类型,该项目使用 Edge Coll 1 中的边缘和类似的集合项目c3沿着边缘遍历在Edge Coll 2中。
获得两者后,我需要将其存储为三元组 - {coll 2, coll 1, coll 3} 对于列表中找到的每个 coll 1 项目
我知道我可以使用type == T1 和 _from == coll 1._id过滤Edge Coll 1中的项目。
同样,我可以重复Edge Coll 2并将这两个结果合并到我的后端 (GoLang) 中。
但是,如果我能够使用图形遍历和单个宏(类似于 SQL 宏),那会很慢并且会更好。那时我只需要对 DB 进行一次后端调用。
docker - 使用 ArangoDB Docker 时无法通过 ArangoDB Web 界面切换到其他数据库
我通过桥启动了两个容器,如下所示:
为了构建arangodb-client-image,我使用了以下 Dockerfile
和init.py
但是当我在我的机器上打开http://localhost:8529时,我无法在下拉菜单中选择学校数据库。但如果使用
我可以看到学校数据库中的所有收藏。
graph-databases - ArangoDB 加入边缘集合
我有 1 个节点和两个边缘集合。我想编写一个 AQL 查询来查找两个边缘集合之间的公共节点。我如何加入两个边缘集合,因为 2 个边缘集合中没有要查询的公共字段。当我试图查找节点时,公共节点 ID 可以存在是_from
或_to
字段
假设我在 2 个不同的边缘集合中有 2 个边缘,如下所示:
Edge-1 : _from: A1 _to: B1 Edge-2 : _from: B1 _to: C2
输出将是B1
因为它在两个边缘集合中很常见
python - 从 python 脚本容器调用 ArangoDB docker 容器失败
我有一个 dockerized 的 python 脚本,在脚本中我调用了 ArangoDB。我有另一个运行 ArangoDB 映像的容器。当我运行这两个容器时,我可以在我的本地主机上访问 ArangoDB,如果我从其容器外部运行我的 python 脚本,它可以成功调用 ArangoDB。但是,当我从 docker 容器内运行脚本时,它无法连接到容器化的 ArangoDB,因为它没有识别出服务器已启动并正在运行,我收到以下错误:
这是我用于 python 脚本的 dockerfile
这就是我从我的 python 脚本中调用 ArangoDB 的地方:
最后,这是我的 docker-compose.yml
python - ArangoDB get_or_create 文档的最佳方法
我正在执行我想象的索引图数据库的常见模式:我的数据是边列表,我想“流式传输”这些数据的上传。即,对于每条边,我想在每一边创建两个节点,然后在它们之间创建边;我不想先上传所有节点,然后再链接它们。一个简单的实现显然会导致大量重复节点。因此,我想实现某种“get_or_create”以避免重复。
我当前的实现如下,使用 pyArango:
我对这个解决方案的问题是:
- 由于应用程序而不是数据库正在检查存在性,因此在存在性检查和创建之间可能存在插入。我在实践中发现了重复的节点我怀疑这是为什么?
- 它不是很快。可能是因为它可能会两次命中数据库。
我在徘徊是否有更快和/或更原子的方式来做到这一点,理想情况下是原生 ArangoDB 查询?建议?谢谢你。
更新 按要求,调用代码如下所示。它在 Django 上下文中,其中 Link 是 Django 模型(即数据库中的数据):
以下是清理和序列化后数据的样例:
python - 如何在 arangodb 上存储聚合
想象一下我有一个这样的边缘文档:
我需要在 54321 上查询时得到这样的列表:
{"54321":3, "12345":2,"32145":1}
我试过这个,但这不是我要找的:
我在 Elasticsearch 中使用 aggs 查询很容易做到这一点