Neo4j 节点或关系支持 ttl 吗?

Gov*_*ngh 5 relationship ttl nodes neo4j cypher

我正在学习neo4j,我想知道有什么方法可以创建一个relationship或一个node在一段时间后自动删除的。

Bri*_*ood 3

据我所知,没有这样的事情。Neo4j 只是一个像 *SQL 或 MongoDB 一样的数据库(尽管让我知道他们是否可以做这样的事情)。

我最好的建议是在关系上放置一个delete_after属性(或类似的东西),然后有一份定期查询以清理它们的工作。请注意,您无法直接查询关系(即,节点始终需要参与查询),因此根据您的数据库有多大,您可能需要考虑您需要哪种类型的索引。我在这里有点含糊,因为我不知道你的域模型会是什么样子。

  • 版本 3.0.x 有 TTL https://neo4j-contrib.github.io/neo4j-apoc-procedures/#_timetolive_ttl_expire_nodes (3认同)
  • Neo4j 没有 ttl,但可以轻松地将其添加为附加组件。您必须连接到 TxEvent 处理程序,以跟踪创建的节点和具有 ttl 属性的关系。然后它会设置删除计时器。 (2认同)
  • MongoDB有这个功能。您可以创建带有过期时间的索引。 (2认同)