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