如何使用多个值搜索由数组字段过滤的节点

时间:2015-09-15 02:05:02

标签: neo4j cypher

我将一些值存储在节点的数组中,我想使用多个值来过滤它。我怎么能这样做?

这是我的节点:

CREATE (t:Test { value:["a","b","c"] } );
CREATE (t:Test { value:["a","b","d"] } );
CREATE (t:Test { value:["a","b","x"] } );
CREATE (t:Test { value:["a","y","z"] } );
CREATE (t:Test { value:["a","f","k"] } );

我想创建一个查询,只检索“a”和“b”在值列内的项目。

下面的查询不起作用,但接近我想做的事。

MATCH (c:Test) WHERE ["a", "b"] IN c.value RETURN c

我知道我可以使用两个“IN”命令将其拆分(下面的例子),但我想避免在我的系统上创建动态查询。

1 个答案:

答案 0 :(得分:2)

MATCH (c:Test)
WHERE ALL(x IN ["a","b"] WHERE x IN c.value)
RETURN c.value