2017-05-03 15 views
0
var arr = [{id:"1",created_at:"1",role:"EMPLOYEE"},{id:"2",created_at:"2",role:"EMPLOYEE"},{id:"3",created_at:"3",role:"VISITOR"},{id:"4",created_at:"4",role:"EMPLOYEE"},{id:"5",created_at:"5",role:"FRIEND"},{id:"6",created_at:"6",role:"EMPLOYEE"},{id:"7",created_at:"7",role:"CO_WORKER"},{id:"8",created_at:"8",role:"EMPLOYEE"},{id:"9",created_at:"9",role:"EMPLOYEE"},{id:"10",created_at:"10",role:"STUDENT"}]; 

var query = 'MATCH (page:pages {id:"435345435"}) '; 
for (var i = 0; i < arr.length; i++) { 
    query += 'MATCH (user'+i+':users {id:"'+ arr[i].id +'"}) user'+i+' CREATE (user'+i+')-[r'+i+':MEMBER_OF {rId:"'+uuid()+'",relation:"'+ arr[i].role +'",createdAt:"'+ arr[i].created_at +'"} ]->(page) '; 
} 
query += 'RETURN r0'; 

这给了我 -创建一个暗号查询多个不同节点之间的关系的NodeJS

MATCH (page:pages {id:"435345435"}) MATCH (user0:users {id:"1"}) CREATE (user0)-[r0:MEMBER_OF {rId:"0",relation:"EMPLOYEE",createdAt:"1"} ]->(page) MATCH (user1:users {id:"2"}) CREATE (user1)-[r1:MEMBER_OF {rId:"1",relation:"EMPLOYEE",createdAt:"2"} ]->(page) MATCH (user2:users {id:"3"}) CREATE (user2)-[r2:MEMBER_OF {rId:"2",relation:"VISITOR",createdAt:"3"} ]->(page) MATCH (user3:users {id:"4"}) CREATE (user3)-[r3:MEMBER_OF {rId:"3",relation:"EMPLOYEE",createdAt:"4"} ]->(page) MATCH (user4:users {id:"5"}) CREATE (user4)-[r4:MEMBER_OF {rId:"4",relation:"FRIEND",createdAt:"5"} ]->(page) MATCH (user5:users {id:"6"}) CREATE (user5)-[r5:MEMBER_OF {rId:"5",relation:"EMPLOYEE",createdAt:"6"} ]->(page) MATCH (user6:users {id:"7"}) CREATE (user6)-[r6:MEMBER_OF {rId:"6",relation:"CO_WORKER",createdAt:"7"} ]->(page) MATCH (user7:users {id:"8"}) CREATE (user7)-[r7:MEMBER_OF {rId:"7",relation:"EMPLOYEE",createdAt:"8"} ]->(page) MATCH (user8:users {id:"9"}) CREATE (user8)-[r8:MEMBER_OF {rId:"8",relation:"EMPLOYEE",createdAt:"9"} ]->(page) MATCH (user9:users {id:"10"}) CREATE (user9)-[r9:MEMBER_OF {rId:"9",relation:"STUDENT",createdAt:"10"} ]->(page) RETURN r0 

请提出实现这一目标的有效和正确的方法。用户阵列将REST API来获取

回答

0

你可以通过输入数据到暗号查询作为parameters,并walk through阵列像这样:

MATCH (page:pages {id: $pageId}) 
WITH page 
    UNWIND $users as userData 
    CREATE (user:users {id: userData.id}) 
    CREATE (user)-[r:MEMBER_OF { rId: userdData.uuid, 
           relation: userData.role, 
           createdAt: userData.created_at 
        }]->(page) 
+1

有这样的回答了几个问题:“userdData”是拼写错误,第一个'CREATE'应该是'MATCH',而'WITH'没有任何用处。否则,它看起来很合理:-)。 – cybersam

+0

@cybersam感谢您的建议 –

相关问题