JavaScript 驱动程序

本节介绍 Neo4j 1.7 JavaScript 驱动程序和 4.x JavaScript 驱动程序之间的重大更改。

Neo4j 的最新版 JavaScript 驱动程序可在 JavaScript 驱动程序的官方页面 上找到。

  • session#close()driver#close() 现在返回 Promises,不再接受回调函数参数。

  • driver.onErrordriver.onCompleted 回调已删除。应在相关代码路径上监控错误(例如,通过 Promise#catch 等)。

示例 1. 1.7 JavaScript 驱动程序和 4.0 JavaScript 驱动程序之间更改的示例
4.0 JavaScript 驱动程序的示例代码 1.7 JavaScript 驱动程序的示例代码
var neo4j = require('neo4j-driver')
...
const driver = neo4j.driver(uri, neo4j.auth.basic(user, password))
...

const session = driver.session()
try {
  const tx = session.beginTransaction()
  const result = await tx.run('CREATE (a:Greeting) SET a.message = $message RETURN a.message + ", from node " + id(a)', { message: 'hello, world' })
  const greeting = result.records[0].get(0)
  console.log(greeting)
  await tx.commit()
} finally {
  await session.close()
}
var neo4j = require('neo4j-driver').v1
...
const driver = neo4j.driver(uri, neo4j.auth.basic(user, password))
...

const session = driver.session()
try {
  const tx = session.beginTransaction()
  const result = await tx.run('CREATE (a:Greeting) SET a.message = $message RETURN a.message + ", from node " + id(a)', { message: 'hello, world' })
  const greeting = result.records[0].get(0)
  console.log(greeting)
  await tx.commit()
} finally {
  session.close(callback) // another session can be chained in callback
}