标签: arangodb

如何检查 ArangoDB 中是否已存在集合

假设Col1我的数据库中已经存在一个集合。所以,做类似的事情:

var col = db.collection('Col1');
col.save({"name":"something"});
Run Code Online (Sandbox Code Playgroud)

会工作得很好。

Col2但是,如果我的数据库中尚不存在的集合尝试使用相同的东西,即

var col = db.collection('Col2');
col.save({"name":"something"})
Run Code Online (Sandbox Code Playgroud)

也会工作得很好。只是它不存在并且不会显示在我的数据库中。如果它抛出一些错误或我可以使用的内容trycatch结果语句。但既然这是不可能的,我怎么知道集合是否已经存在?

node.js arangodb arangojs

5
推荐指数
1
解决办法
3002
查看次数

我如何查看哪些查询已发送到 ArangoDB 服务器

我希望快速收集从使用 python-arangodb 驱动程序的应用程序发送到 ArangoDB 服务器的所有查询,而无需深入挖掘源代码,也无需嗅探 REST API 的 HTTP 流量。

ArangoDB Web UI 上是否没有一些管理/审核日志,可以显示哪些查询已发送到服务器?

这里使用3.2.5。

logging admin arangodb aql

5
推荐指数
1
解决办法
554
查看次数

ArangoDB 的图表 API pyArango

我正在使用 ArangoDB 社区版,我可以查询创建的图表AQL并获取 JSON 格式的结果,该结果在 ArangoDB Web 界面工具上以图形方式可视化。

AQL询问

FOR v,e,p IN 1..3 OUTBOUND 'germanCity/Hamburg' GRAPH 'routeplanner' 
OPTIONS{bfs :true} 
RETURN p
Run Code Online (Sandbox Code Playgroud)

JSON 输出

[
  {
    "edges": [
      {
        "_key": "6392826",
        "_id": "germanHighway/6392826",
        "_from": "germanCity/Hamburg",
        "_to": "germanCity/Cologne",
        "_rev": "_WmZ77pW--D",
        "distance": 500
      }
    ],
    "vertices": [
      {
        "_key": "Hamburg",
        "_id": "germanCity/Hamburg",
        "_rev": "_WmZ77Z---_",
        "population": 1000000,
        "isCapital": false,
        "loc": [
          53.5653,
          10.0014
        ]
      },
      {
        "_key": "Cologne",
        "_id": "germanCity/Cologne",
        "_rev": "_WmZ77Y6--B",
        "population": 1000000,
        "isCapital": false,
        "loc": [
          50.9364,
          6.9528
        ] …
Run Code Online (Sandbox Code Playgroud)

python graph arangodb aql pyarango

5
推荐指数
1
解决办法
1416
查看次数

在ArangoDB AQL中,如何从图遍历中返回顶点和边?

我想返回在图遍历查询期间遇到的所有唯一边和所有唯一顶点的列表。这给出了我想要的结果,但我执行了相同的查询两次:

    LET eResults = (    
        FOR v,e
            IN 1..2
            ANY "entities/198593"
            relations
            OPTIONS { uniqueEdges: "path", bfs: true }
            RETURN DISTINCT KEEP(e, "_key", "_from", "_to", "type")
    )
    LET vResults = (
        FOR v,e
            IN 1..2
            ANY "entities/198593"
            relations
            OPTIONS { uniqueEdges: "path", bfs: true }
            RETURN DISTINCT KEEP(v, "_key", "name")
    )
    RETURN { edges: eResults, vertices: vResults}
Run Code Online (Sandbox Code Playgroud)

查询结果,每条边和顶点只包含一次:

    [
      {
        "edges": [
          {
            "_from": "entities/198593",
            "_key": "391330",
            "_to": "entities/198603",
            "type": 300
          },
          {
            "_from": "entities/198593",
            "_key": "391390",
            "_to": "entities/198477",
            "type": …
Run Code Online (Sandbox Code Playgroud)

arangodb aql

5
推荐指数
1
解决办法
1302
查看次数

使用 python 在 arangodb 中批量导入 .json 文件

我有大量 .json 文件,其中包含我想要导入到 arangodb 集合的数百或数千个文档。我可以使用 python 来做到这一点吗?如果答案是肯定的,任何人都可以发送一个关于如何从文件列表中执行此操作的示例吗?IE:

for i in filelist:
    import i to collection
Run Code Online (Sandbox Code Playgroud)

我已阅读文档,但找不到任何类似的内容

python document arangodb

5
推荐指数
1
解决办法
2032
查看次数

ArangoDB:如果数据或索引不再适合RAM,那会不好?

亲爱的ArangoDB社区,

我想知道当我们使用ArangoDB时它是否坏,如果不幸的是数据+索引变得太大而且不再适合RAM.那发生了什么?它是否会严重破坏系统性能?

对于TokuMX来说,这是一个非常迷人的MongoDB分支(TokuMX提供了我需要的ACID交易),他们说完全没问题!甚至TokuMX在他们的网站上也明确表示,如果数据+索引不适合RAM,对TokuMX来说没什么大不了的.

另外,对于TokoMX的MongoDB,我们可以通过某些命令限制RAM的使用.

对于我的web项目,我想决定我要使用哪个数据库,我不想稍后更改.我的数据库服务器的RAM现在不超过500MB,它由NodeJS服务器同时使用.所以两者都坐在一台服务器上.

在该服务器上,我有1个Nodejs Server和2个Database实例在运行.在此我将TokuMX和ArangoDb与linux中的TOP命令进行比较以检查RAM的使用情况.两个数据集只有一个很小的集合用于测试.并且通过Linux中的TOP命令对我说:ArangoDB:RES:128 MByte在使用,而对于TokuMX它只说9 MB(!!)Res意味着:实际的,真正使用的物理RAM我发现了.所以,差异已经很大了......谢谢和许多问候.虚拟RAM的使用也是非常不同的.arangodb的5 Gb.tokumx只有300 MB.

node.js arangodb

4
推荐指数
1
解决办法
743
查看次数

最后使用AQL在ArangoDB中插入了_key?

如何使用AQL查询在ArangoDB中接收最后插入的_key?我把项目放在集合中,以下元素必须包含_key创建的元素.我怎么得到这个_key?

lastinsertid arangodb aql

4
推荐指数
1
解决办法
386
查看次数

如何在没有ORM的情况下使用低级数据库驱动程序设置Ruby on Rails应用程序?

我想使用ArangoDB创建一个Rails应用程序.它有Rails适配器,Guacamole,但它没有我想要的一些功能(即AQL).所以我想用低级Ashikawa驱动程序构建自己的模型.

我需要写什么代码才能正常运行?我想我必须写一个初始化器来建立连接,还有什么我不知道的吗?

谢谢.

ruby-on-rails arangodb

4
推荐指数
1
解决办法
451
查看次数

找到ArangoDB中节点数的交叉节点?

我有许多节点通过其他类型的中间节点连接.像在图片上可以有多个中间节点.我需要找到给定数量节点的所有中间节点,并按照我的初始节点之间的链接数对其进行排序.在给出A,B,C,D的示例中,它应该返回节点E(4个链接)以下节点F(3个链接).这可能吗?如果不是,可以使用多个请求完成?我正在考虑使用SHORTEST_PATH函数,但似乎它只能找到来自同一集合的节点之间的路径? 在此输入图像描述

arangodb

4
推荐指数
1
解决办法
211
查看次数

图DB中的条件关系

图模型如何处理条件关系,如:

(Alice -[Dates]-> Bob)  
Where [Dates] exists IF and ONLY IF 
(Bob -[Owns]-> Ferrari) is true
Run Code Online (Sandbox Code Playgroud)

除了查询之外,我想知道数据库引擎是否根据条件应用关系,或者是否需要在应用程序中管理这种关系.

neo4j relationships graph-databases arangodb

4
推荐指数
1
解决办法
580
查看次数