Neo4j 密码查询限制结果和删除

Neo4j 密码查询限制结果和删除,neo4j,cypher,limit,Neo4j,Cypher,Limit,我试图删除20000个datestamp属性为20130808的节点,但当我将“DELETE nx”替换为“RETURN COUNT(nx)”时,结果是7880,而不是20000,此时我在Neo4j 1.9.2中有1000000个节点。我怎样才能做到正确呢 密码查询: START nx=node(*) WITH nx LIMIT 20000 WHERE HAS (nx.datestamp) AND nx.datestamp = 20130808 AND ID(nx) <> 0 DEL

我试图删除20000个datestamp属性为20130808的节点,但当我将“DELETE nx”替换为“RETURN COUNT(nx)”时,结果是7880,而不是20000,此时我在Neo4j 1.9.2中有1000000个节点。我怎样才能做到正确呢

密码查询:

START nx=node(*)
WITH nx
LIMIT 20000
WHERE HAS (nx.datestamp) AND nx.datestamp = 20130808 AND ID(nx) <> 0
DELETE nx
START nx=node(*)
用nx
限额20000
其中HAS(nx.datestamp)和nx.datestamp=20130808,ID(nx)0
删除nx

这是因为首先选择20k个任意节点,然后应用
WHERE
过滤器。你必须反过来做:

START nx=node(*)
WHERE HAS (nx.datestamp) AND nx.datestamp = 20130808 AND ID(nx) <> 0
WITH nx
LIMIT 20000
DELETE nx
START n=node:node_auto_index(datestamp=20130808)
WITH n
LIMIT 20000
DELETE n