2013-02-06 46 views
1

我正在与一个程序,我有一个记录为每个用户。我的用户拥有密钥PhoneNumber的属性,其值为字符串数组[454457,897356]。例如,如果我想使用CYPHER查询:如何在neo4j的密码查询中有一个密钥的多个值?

Start n=node(1) 
Return n 

它返回1个结果为我的节点(一行),该PhoneNumber列的值是一个数组。 但我想根据我的数组中的值的数量记录数字,意味着对于我的示例查询返回2条记录(2行),并且它的所有属性都是相同的,但在PhoneNumber列中,其中一个具有值为454457,另一个值为897356。有什么办法做到这一点?我是否会更改我的密码查询或在我的java代码中进行一些更改? 谢谢。

+0

读取结果时,你可以这样做在客户端,只是重复了在记录每个电话号码的原始行(用户)。 –

回答

2

在Cypher内部还没有办法做到这一点。我已经提交一个请求吧,虽然:

https://github.com/neo4j/neo4j/issues/30

+0

不能用foreach来完成吗? 'FOREACH(x in n.PhoneNumber:...'但我找不出第二部分。 – ulkas

+0

问题是没有办法根据集合将结果扩展到所有行之外。(AFAIK)I尽管如此,我很乐意听到其他人的声音。 –