【发布时间】:2014-12-03 10:11:22
【问题描述】:
我有一个非常罕见的问题。我有一个插入 NEO4j 数据库的 java 程序。该程序在我的 local_host 环境中运行良好,但是当我将它部署到服务器(neo4j 所在的位置)时,数据库没有更新。这就是我的工作
//First delete the DB
ExecutionEngine engine = new ExecutionEngine(db);
engine.execute("MATCH (n) OPTIONAL MATCH (n)-[r]-() DELETE n,r");
Transaction tx = db.beginTx();
//insertion here
tx.success();
tx.close();
//look if it was correctly updated
System.out.println("NODES: " + engine.execute("START n=node(*) RETURN count(n)").dumpToString());
System.out.println("RELATIONSHIPS: " +engine.execute("START r=relationship(*) RETURN count(r)").dumpToString());
db.shutdown();
如果我查看日志,一切正常
UPDATED
NODES: +----------+
| count(n) |
+----------+
| 99 |
+----------+
1 row
RELATIONSHIPS: +----------+
| count(r) |
+----------+
| 76 |
+----------+
1 row
但是当我通过浏览器查看 Neo4J Db 什么都没有发生时,之前的结果仍然存在!。请注意,如果我在 Local_host 环境上运行相同的程序,行为是相同的,但在这种情况下它会正确更新
提前谢谢你
【问题讨论】:
-
请更新您的问题以包含对这些问题的答案 - 但我认为您会通过跟踪这些问题找到您的解决方案:您的网络版本指向哪个数据库目录?当您在代码中创建此 ExecutionEngine 时,它是否与嵌入式数据库相关联?如果是这样,那它的路径是什么?如果不是,REST 端点是什么?我的猜测是在某个地方,您指向了错误的数据库。所以更新正在发生,但不是您期望看到的地方。