[英]mount is failing for arangodb foxx application
我为我正在开发的应用程序创建了一个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] ERROR无法计算Foxx应用程序路径:[ArangoError 1924:graph not found]
2014-11-23T04:08:44Z [2584]错误无法挂载Foxx应用程序'app:contactspace:1.0':错误:无法计算Foxx应用程序'app:contactspace:1.0'的路由表,检查日志文件是否有错误! \\ n at.atloadRouting(/ usr / share / arangodb /)中的Object.exports.appRoutes(/usr/share/arangodb/js/server/modules/org/arangodb/foxx/manager.js:1525:15)。 js / server / modules / org / arangodb / actions.js:1241:38)\\ n在全局上下文方法:1:33 \\ n
我无法理解这个错误的原因。 安装后脚本运行正常,但安装本身出错。
在arangodb dev实例的情况下,foxx应用程序正常工作。
来自此处的其他信息:
是的我正在创建一个只有一个边缘定义的通用图形。 下面是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");
你正在做的是我本来会做的,那里有一些导致错误的小错误:
如果你改变了那些东西,你就可以去了:)只是在本地尝试过。
一个小小的评论:在Foxx中,我们的想法是每个集合名称都带有一些关于挂载点的信息。 这样做的原因是你应该能够多次安装Foxx应用程序而不会发生冲突 - 多个应用程序也可能有一个集合'x'并期望在那里存储不同的东西。 这就是为什么我们有applicationContext.collectionName :)我建议您在命名与图形相关的集合时使用它! 如果您想了解它是如何工作的,我将您的代码段转换为一个简单的示例应用程序。 这是它的要点:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.