2014-10-11 53 views
1

我想創建類似電子郵件的附件。 所以我有一個電子郵件信息排列如下所示:使用參數創建多個節點和關係

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) 

我怎麼會一次創建所有連接節點和連接他們到電子郵件節點(與一個單一的查詢)?

回答

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適用於收藏,也見這裏:

相關問題