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

问题描述 投票:0回答:1

我正在浏览针对初学者的 Neo4j 文档和 2 个月前的 YouTube 视频。 我想使用他的名字从数据库中查找用户。所以这里有两种方法:

文档方式:

MATCH (u:USER {name:"abcd"}) RETURN u

Youtube视频方式:

MATCH (u:USER} WHERE u.name = "abcd" RETURN u

两种方法都可以完成工作,但我很困惑何时使用或不使用哪一种。谁能告诉我何时使用哪一个以及它们之间的根本区别是什么?这两种方法都可以安全使用吗?

neo4j cypher
1个回答
0
投票

您的第一个查询:

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
子句中,您可以使用布尔运算符,例如
AND
OR
XOR
NOT
。 您还可以使用
IN
CONTAINS

有关更多信息,请查看文档

© www.soinside.com 2019 - 2024. All rights reserved.