如何使用bolt协议(javascript)将对象数组(bulk-insert)插入到neo4j中

Jin*_*gle 6 javascript bulkinsert neo4j

1.将带有对象数组的http帖子发送到服务器

[{id:1, title: ‘one’},
{id:2, title:’two’}]
Run Code Online (Sandbox Code Playgroud)

2.在服务器上接收帖子并用螺栓批量插入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();
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

cyb*_*sam 1

在步骤 3 中,您可以将整个输入list(来自步骤 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);
  });
Run Code Online (Sandbox Code Playgroud)