更新Cypher中的多个属性(neo4j)

use*_*874 1 neo4j

我无法使用SET为Neo4j中的多个属性更新节点,有没有办法处理这个?

start n=node:wordindex(word='repine') set     n.wordType = 'rare'         return n
Run Code Online (Sandbox Code Playgroud)

如果我想添加n.link ="...",那怎么办?

agm*_*984 8

这是最新的文档:http : //neo4j.com/docs/developer-manual/current/cypher/clauses/set/

 MATCH (n { name: 'Peter' })
 SET n += { hungry: TRUE , position: 'Entrepreneur' }
Run Code Online (Sandbox Code Playgroud)

还有其他方法,因此请检查文档。

如果您是通过node.js来执行此操作的,还请检查一下:JSON.Stringify是否在属性上没有引号?

您可以util.inspect()像这样使用来获取对象:

 const util = require('util')

 const params = {
   hungry: TRUE ,
   position: 'Entrepreneur'
 }

 const query = `
   MATCH (n { name: 'Peter' })
   SET n += ${util.inspect(params)}
   RETURN n
 `
Run Code Online (Sandbox Code Playgroud)


Lua*_*nne 6

start n=node:wordindex(word='repine')
set n.wordType = 'rare', n.link='link'
return n
Run Code Online (Sandbox Code Playgroud)

应该这样做