【问题标题】:mount is failing for arangodb foxx application安装 arangodb foxx 应用程序失败
【发布时间】:2014-11-23 04:21:20
【问题描述】:

我为我正在开发的应用程序创建了一个 foxx 应用程序。我试图在 arangodb 主线中安装 foxx 应用程序。
我已按照以下步骤操作:
1. 从 arangosh 'db._createDatabase("databasename")' 创建新数据库
2.运行命令'foxx-manager --server.database ""获取目录'
3.然后运行命令'foxx-manager --server.database "" mount'

但是,当我查看日志时,它给出了以下错误

2014-11-23T04:08:44Z [2584] 错误无法计算 Foxx 应用程序路由:[ArangoError 1924:未找到图表]
2014-11-23T04:08:44Z [2584] 错误无法挂载 Foxx 应用程序“app:contactspace:1.0”:错误:无法计算 Foxx 应用程序“app:contactspace:1.0”的路由表,请检查日志文件是否有错误! \n 在 Object.exports.appRoutes (/usr/share/arangodb/js/server/modules/org/arangodb/foxx/manager.js:1525:15)\n 在 Object.reloadRouting (/usr/share/arangodb/ js/server/modules/org/arangodb/actions.js:1241:38)\n 在全局上下文方法:1:33\n

我无法理解此错误的原因。安装脚本在挂载后运行良好,但挂载本身出错。

在 arangodb 开发实例的情况下,foxx 应用程序运行良好。

来自here的其他信息:

是的,我正在创建一个只有一个边定义的通用图。下面是那个的 setup.js

// load modules
var graph_module = require("org/arangodb/general-graph");

// create graph if does not already exists
var graph = null;
if(!graph_module._exists("sampleGraph")) {
    var containsXRelation = graph_module._directedRelation("containsX", ["X"], ["X"]);
    var edgeDefinitions = graph_module._edgeDefinitions(containsXRelation);
    graph = graph_module._create("sampleGraph", edgeDefinitions);
}
else {
    graph = graph_module._graph("sampleGraph");
}

他们还有一些东西,比如创建索引...

此外,我在控制器操作之外还有一些与图形相关的代码:

var sampleGraph = graph_module._graph("sampleGraph");
var vertex = contactSpaceGraph._getVertexCollectionByName("contactX");
var edge = contactSpaceGraph._getEdgeCollectionByName("X");

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    你正在做的就是我也会做的,那里有一些小错误会导致错误:

    • 您在控制器中编写了 contactX 而不是 containsX
    • 您在控制器中切换了顶点集合和边集合的名称(getVertexCollectionByName 应该接收 X,getEdgeCollectionByName 应该接收 containsX)

    如果你改变了这些东西,你很高兴:) 刚刚在本地尝试过。

    一个小小的说明: 在 Foxx 中,这个想法是每个集合名称都以一些有关安装点的信息为前缀。这样做的原因是您应该能够多次安装 Foxx 应用程序而不会发生冲突——而且多个应用程序可能有一个集合“x”,并期望在其中存储不同的东西。这就是为什么我们有 applicationContext.collectionName :) 我建议在您命名与图形相关的集合时也使用它!如果您想了解它是如何工作的,我将您的 sn-ps 转换为一个简单的示例应用程序。这是它的要点:

    https://gist.github.com/moonglum/21208befa3ce6227559d

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-31
      • 1970-01-01
      相关资源
      最近更新 更多