什么时候在Cypher Neo4j中使用WHERE?

ohfgkhjo  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(123)

我正在浏览neo4j上的文档和一个2个月前的youtube视频,供初学者使用。我想用他的名字从数据库里找到一个用户。这里有两种方法:
双向:MATCH (u:USER {name:"abcd"}) RETURN u
Youtube视频方式:MATCH (u:USER} WHERE u.name = "abcd" RETURN u
这两种方式都可以完成这项工作,但我不知道何时使用哪一种。谁能告诉我什么时候该用哪一种,它们的根本区别是什么?这两种方法都安全吗?

omjgkv6w

omjgkv6w1#

你的第一个问题:MATCH (u:USER {name:"abcd"}) RETURN u只适用于简单的特定情况,而第二个查询:MATCH (u:USER} WHERE u.name = "abcd" RETURN u是一般情况。如果你只想匹配一个具有非常简单条件的节点,比如name = "abcd",这两个都可以工作。
对于更复杂的条件,使用WHERE。举例来说:

MATCH (u:USER)
WHERE (u.name = "abcd" AND u.age > 27) OR (u.name = "abcde" AND u.age > 28)
RETURN u

WHERE子句中,可以使用ANDORXORNOT等布尔运算符。您也可以使用INCONTAINS
有关更多信息,请查看documentation

相关问题