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