我有一个对象列表,这些对象具有不同的属性。
array = [{name: 'Armen', age: 26}, {name: 'Alex', profession: 'Scientist'}]
我需要迭代列表并使用对象提供的属性创建节点。哪一种是最简单且最佳的实践方法?提前致谢!我尝试对列表键和对象键使用展开
WITH array AS nodes
UNWIND nodes AS node
UNWIND keys(node) AS prop
WITH node, prop
MERGE (man: Man {prop:node[prop]})
RETURN man
但在这种情况下,我为每个属性获得一个节点。
最佳答案
展开 prop
将导致每个属性出现单独的行,这就是它不起作用的原因。您可以将属性保留在一个集合中,如下所示,
WITH [{name: 'Armen', age: 26}, {name: 'Alex', profession: 'Scientist'}] AS nodes
UNWIND nodes AS node
WITH node, properties(node) as props
MERGE (man:Man {name: props.name}) ON CREATE SET man += props
RETURN man
(我假设name
对于所有项目都是通用的)
关于neo4j - 迭代对象列表并通过对象的属性创建节点 Neo4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69663659/