我想创建类似电子邮件附件的内容。 所以我有一个如下的电子邮件信息数组:
email: {name: 'aUniqueString'}
attachments: [
{label: 1, filename: 'a.jpg'},
{label: 2, filename: 'b.jpg'},
{label: 3, filename: 'c.jpg'},
]
如果我只需输入一个附件,这应该有效:
MATCH (n:email {name: "aUniqueString"})
CREATE (a:attachment {filename: 'a.jpg'})
CREATE (n)-[r:ATTACHMENT {label: '1'}]->(a)
如何一次创建所有附件节点并将它们连接到电子邮件节点(使用单个查询)?
答案 0 :(得分:1)
如果您将它们作为参数传递,您可以这样做:
PARAMS:
{ email: {name: 'aUniqueString'}
attachments: [
{label: 1, filename: 'a.jpg'},
{label: 2, filename: 'b.jpg'},
{label: 3, filename: 'c.jpg'},
]}
CREATE (n:Email {name: {email}})
foreach (att in {attachments} |
CREATE (a:Attachment {filename: att.filename})
CREATE (n)-[:ATTACHMENT {label: att.label}]->(a)
)
FOREACH适用于集合,另请参见: