如何使用Bolt协议(JavaScript)将对象数组(批量插入)插入Neo4j?

6

1.向服务器发送带有对象数组的http post请求

[{id:1, title: ‘one’},
{id:2, title:’two’}]

2. 接收服务器上的帖子并使用Bolt批量插入到neo4j中

    let data = req.body;
    //set up bolt
    let db      = require('neo4j-driver').v1;
    let driver  = db.driver('bolt://localhost', db.auth.basic('neo4j', ’neo4j’));
    let session = driver.session();

3. 设置执行语句

    // start transaction
    for(var i=0; i>data.length; i++) {
     //add CREATE statements to bolt session ???
    "CREATE (r:Record {id:1, title:'one'})"
    "CREATE (r:Record {id:2, title:'two'})"
    ...
    }

    //execute session.run(???);
    //stop transaction

我也对寻找相同问题的答案感兴趣。如果你找到了解决方案,请在这里发布。谢谢。 - huber.duber
1个回答

1
在第三步,您可以将整个输入列表(来自第一步)作为参数传递。(但是,如果输入列表非常长,您应该将其分成较小的批次 - 每批10,000个项目。)
例如:
session
  .run(
    "UNWIND {list} AS i CREATE (:Record {id: i.id, title: i.title})",
    { list: list })
  .then(function(result){

    // Use the result ...

    session.close();
  })
  .catch(function(error) {
    console.log(error);
  });

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接