2015-10-20 161 views
0

Neo4j的匹配數組值我與此查詢與節點屬性

MATCH(u:User) WHERE ANY(name IN ['ACB','xYz'] WHERE u.first_name =~ "(?i).*name.*") RETURN u 

,它正在考慮(?i).*name.*爲靜態文本,而不是從name IN ['ACB','xYz']動態值嘗試。

+0

是的,正則表達式是靜態文本。 但在你的例子中,我認爲你可以直接在正則表達式中添加「['ACB','xYz']」,這裏不是動態的,對吧? – logisima

+0

@logisima它也是動態的。請求。現在只是爲了完成工作,我遍歷了整個數組,並添加了每個元素 ** ex的正則表達式。 search_param = search_param.map(函數(ele){0} {0} {0}返回'。*(?i)'+ ele +'。*' }); ** 但我不想遍歷數組。 –

回答

0

您可以使用字符串連接組裝一個正則表達式。然而,這種情況需要一些toString暗示:

MATCH(u:User) WHERE ANY(name IN ['ACB','xYz'] 
    WHERE u.first_name =~ toString("(?i).*" +name +".*")) 
RETURN u