据我观察:
- 对于您创建的每个文档,还会创建一个修订管理器文档。此修订管理器跟踪最新修订并维护数组中所有修订的历史记录。
- 每次更新文档时,都会创建一个新文档(whyyyyy???)。修订管理器文档的最新指针指向这个新文档并将之前的文档添加到其修订历史列表中。
- 因此,在每次更新操作中,Sync-Gateway 都会添加一个新文档并修改修订管理器文档。
这是一种非常低效的版本控制方式,其中维护整个文档的副本以进行版本控制,而不仅仅是 diff,因为这将占用大量空间。(例如:在“GrocerySync-Android”示例应用程序中对单个待办事项进行 500 次点击需要 8.03MB 的磁盘空间。此外,修订管理器文档已变得大于 2.5 kb,我收到一条消息说您不能修改大小超过 2.5 kb 的文档。为什么????)
问题:
- _sync:local: 文档是关于什么的?
- 是否可以关闭在更新时创建新文档并仅保留最新副本的默认行为。(一种方法可能是删除客户端中的旧版本,但我想这不会修改修订管理器文档。)