首页 > 解决方案 > 如何去除neo4j中map的属性?

问题描述

我正在寻找一种从 neo4j 中的节点中删除地图属性的方法。我在课堂上使用@Properties将地图的属性存储在节点中。它将值存储在节点中。我的节点看起来像这样。在此处输入图像描述

但是当我要删除 description.ENGLISH 的属性时,它给了我错误。图中给出。

这是我的域。

public class Test  {


private String name;



@Properties
private Map<LanguageEnum,String> description;
//getter and setter}

这是我 从节点中删除description.ENGLISH的查询。

MATCH (n:Test{moduleId:"tab_201"}) remove n.description.ENGLISH return n

注意:我也无法通过 CQL 更新该值。

谢谢。

标签: javaneo4jspring-data-neo4jneo4j-ogm

解决方案


在 Cypher 中,您可以使用反引号 (`) 字符来引用包含特殊字符(如“.”)的属性键(以及标签和类型)。例如:

MATCH (n:Test{moduleId:"tab_201"}) remove n.`description.ENGLISH` return n

推荐阅读