Как я могу удалить все свойства определенного узла, используя запрос шифра на Neo4J - PullRequest
1 голос
/ 04 июля 2019

Мне нужно получить существующие свойства узла и удалить все свойства узла, кроме id.

Ответы [ 2 ]

2 голосов
/ 04 июля 2019

Нашел ответ по https://markhneedham.com/blog/2019/03/14/neo4j-delete-dynamic-properties/

MATCH (n:person)
WITH n, [k in keys(n) where not k in ["id","_int_version"]] as keys
CALL apoc.create.removeProperties(n, keys) YIELD node
RETURN node;
1 голос
/ 06 июля 2019

На самом деле самый простой способ - это установить карту на узле (это заменяет свойства узла на свойства на карте и гарантирует, что карта содержит только те проекционные свойства, которые вы хотите сохранить:

MATCH (n:person)
WITH n, n {.id, ._int_version} as propsToKeep
SET n = propsToKeep
...