我正在编写一个在客户端和服务器之间同步数据的应用程序,因此我经常需要检查服务器上的实体是否比客户端上的任何实体更新。
Datomic 是否保证所有新实体的 id 都大于以前存在的实体?在我将其作为程序逻辑的重要组成部分之前只需要知道。
最佳答案
实体 ID至少由创建实体的分区和单调递增的数字组成。如果您将实体 ID 视为数值,那么它们将不会有连续的 ID。
相反,您应该查看他们的 transaction并比较它们的 :db/txInstant
属性值,该属性值是默认创建的并附加到系统上的所有事务。 :db/txInstant
的值是捕获交易发生瞬间的时间戳。
此外,请查看 (tx-report-queue)
,用于监控或与外部系统同步数据。它使您可以访问交易者广播的基于 Datomic 推送的新颖性模型。
关于datomic - 所有新的 datomic id 都比以前的大吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19900462/