在cypher查询中返回相关的用户ID

时间:2017-06-23 23:53:19

标签: neo4j cypher

我希望从查询中返回用户的节点ID。理想情况下,id将与每个返回的用户配对为一个属性,但也可以作为返回用户的相应id的数组。

这是当前的查询

var query = [
    'MATCH (f:FundRaiser)<-[t:TRANSACTION]-(u:User)',
    'WHERE ID(f) ='+ fundraiserId,
    'RETURN COLLECT(DISTINCT u)as users,COLLECT(DISTINCT t) as transactions'
].join('\n');

1 个答案:

答案 0 :(得分:1)

此查询字符串应生成一个结果,其中users将是不同对象的集合,每个对象包含一个User节点及其本机ID

var query = [
    'MATCH (f:FundRaiser)<-[t:TRANSACTION]-(u:User)',
    'WHERE ID(f) ='+ fundraiserId,
    'RETURN COLLECT(DISTINCT {u: u, id: ID(u)}) as users, COLLECT(DISTINCT t) as transactions'
].join('\n');

注意:您应将fundraiserId值作为parameter传递,这样会更安全,更高效。