在nodejs中使用neo4j_driver时如何解决这些问题?

时间:2017-03-23 10:44:45

标签: javascript node.js neo4j

尝试在后端的nodejs中使用neo4j时遇到了一些问题。

  1. 以下似乎很好,但我在本地数据库浏览器中看不到任何节点。

      var neo4j = require('neo4j-driver').v1;
      var driver = neo4j.driver("bolt://localhost", neo4j.auth.basic("neo4j", "neo4j"));
      var session = driver.session(); 
      session.run('CREATE (a:person {name: "aaaa")-[a:work_at]->(b:company    {type:"Inc"})');
      session.close();
      driver.close();
    
  2. 在本地浏览器

      

    http://localhost:7474/browser/

    我试图通过

    看到这些添加的节点
      

    匹配(a)返回

    但没有出来。 那么,现在上面的节点在哪里?我怎么知道我在数据库中添加了一些内容?

    1. 由于上面的代码看起来很好,我把它放在模块中的一个函数中,在另一个模块中调用它。问题是我收到了错误,这怎么可能?这是相同的代码,OMG!

      function test() {
      var neo4j = require('neo4j-driver').v1;
      var driver = neo4j.driver("bolt://localhost", neo4j.auth.basic("neo4j", "neo4j"));
      var session = driver.session();
      session
        .run( 'CREATE (a:person {name: "aaaa")-[a:work_at]->(b:company    {type:"Inc"})' )
        .then( () => {
            console.log( 'add a node' );
            session.close();
            driver.close();
        })
        .catch(error =>{
            console.log( error );
            session.close();
            driver.close();
            return error;
         })
      }
      
    2. 我一直收到以下错误。随处搜索,但无法修复它。

        

      错误:服务器已关闭连接

      1. 如何指定放置数据库文件的位置,数据库文件的名称等?

      2. 我想从csv文件导入数据到noe4j。 我可以使用加载csv'如下

      3.   

        session.run('从.....'加载csv)

        我能这样做吗? 我看到每个人都在使用“加载csv'从推荐线。 如果我必须从命令行执行,如何指定文件的路径?

        任何人都指出我做错了什么? 请帮忙!

1 个答案:

答案 0 :(得分:1)

您的Cypher查询有几个主要问题,并且无法正常工作。

  • 在将if @profile.update(convert_item_names_to_ids(profile_params)) 属性分配给}节点时,您省略了name

  • 您试图以两种相互冲突的方式使用相同的标识符" a":对于节点和关系。

这样的东西可行(我遗漏了所有标识符,因为您当前的查询并不需要它们):

person