2
我试图复制下面的SQL查询的行为的Neo4j删除所有,但
DELETE FROM history
WHERE history.name = $modelName AND id NOT IN (
SELECT history.id
FROM history
JOIN model ON model.id = history.model_id
ORDER BY created DESC
LIMIT 10
)
我尝试了很多不同的查询的一些查询的前k个节点,但基本上我一直在努力结合找到TOP-k元素。这是我得到解决方案最接近的。
MATCH (h:HISTORY)-[:HISTORY]-(m:MODEL)
WHERE h.name = $modelName
WITH h
MATCH (t:HISTORY)-[:HISTORY]-(m:MODEL)
WITH t ORDER BY t.created DESC LIMIT 10
WHERE NOT h IN t
DELETE h
随着该查询我的错误expected List<T> but was Node
为线WITH t ORDER BY t.created DESC LIMIT 10
。
我试过改变它COLLECT(t) AS t
但是然后错误是expected Any, Map, Node or Relationship but was List<Node>
。
所以我几乎卡住了。任何想法如何在Cypher中编写这个查询?
工程就像一个魅力,谢谢!就在离开笔记本电脑的时候,我认为逆转订单可能是一个解决方案。此外,“DETACH DELETE”在这里当然很重要。必须微笑,因为你的用户名符合解决方案:) – joe776