我正在开发一个使用Node.js,Cypher和Neo4j的项目。该项目的前端偶尔需要快速拉随机用户。我在互联网上看到了这个问题:
MATCH (n:User) WHERE rand() < 0.1 RETURN n LIMIT 21
但我不知道这是做什么的。它似乎很快,但我想理解它。我所知道的细分:
MATCH | Match some nodes
(n:User) | Let's call this node n, and it has to be of type User
WHERE | Specify conditions for node match
rand() | Return a random number from 0 to 0.9999...
< | Less than
0.1 | ??
RETURN | Give back the matched node(s)
n | Our node(s)
LIMIT 21 | Don't return more than 21 nodes
rand()
和0.1
做了什么?它是否以某种方式限制了潜在的节点返回?
如果这有帮助,我有大约10,000个节点
答案 0 :(得分:1)
正如您的问题已经陈述的那样,WHERE
子句指定MATCH
成功的条件。因此,WHERE rand() < 0.1
表示MATCH
有10%的成功概率。