我正在寻求实施一个偶尔会拉动所有"新"来自DocumentDb的记录,其中new是"自上次运行流程以来添加或修改的所有文档。"
SQL Server为此提供了rowversion,这保证了数据库中所有行和列的唯一且单调递增。
我看到DocumentDb有_ts,它(根据文档)用作Azure搜索索引的高水位标记,但是它是如何工作的?如果在读取的同时插入多个文档,则可能所有文档都具有相同的_ts值。在下一次阅读时,如果与_ts的比较严格大于,则会遗漏一些文件;如果它大于或等于,则会再次提取某些文件。
_ts可以安全使用吗?
答案 0 :(得分:1)
_ts
属性特定于文档,而不是文档集合。它代表特定文档更新的时间(自1970年1月1日起以秒为单位)。
_ts
属性不会在集合中的所有文档中给出高水位线。每个文档都有自己独立的_ts
属性(可能与另一个文档的_ts
属性具有相同的值)。
有关详细信息,请参阅this answer。