使用 spring-data-neo4j 在 Neo4j 中更改属性数据类型

use*_*228 3 neo4j spring-data-neo4j

对于具有任何属性(索引或未索引)的 NodeEntity,由于某些用例,我希望将数据类型从 Integer 更改为 String。
我只是更改了定义的 NodeEntity 类中的数据类型。新数据成功插入到数据库中,属性的数据类型为新设置的(即字符串)。但是,此更改之前已在数据库中的节点的属性的数据类型保留为旧数据类型(即整数)。
有没有办法修改数据库中所有节点的数据类型?

Ste*_*ter 5

Cypher 有几个功能:

  • toInt: 将字符串转换为整数/长值
  • toFloat: 将字符串转换为浮点值
  • str: 将某些内容转换为字符串

有了它,您可以轻松修改现有属性的数据类型。假设您有一个Person具有数字zipCode属性的类型实体。您想转换zipCode为字符串:

MATCH (node:Person)
SET node.zipCode = str(node.zipCode)
Run Code Online (Sandbox Code Playgroud)

如果您有大量该类型的实体,请确保您的交易不会因使用SKIP和而变得太大LIMIT