【发布时间】:2017-02-25 06:16:07
【问题描述】:
CouchDB 文档清楚地表明单文档更新是 ACID。但我想知道这是否适用于因文档更新而触发的视图更新。
假设我有一个视图函数来显示在“类型”字段上具有特定值的文档的数量。如果在我插入具有该类型的文档之后但在视图有时间更新之前服务器立即崩溃会发生什么? CouchDB 是否保证下次服务器启动时会更新视图?还是我必须等到其他一些事件触发重新计算视图?
【问题讨论】:
CouchDB 文档清楚地表明单文档更新是 ACID。但我想知道这是否适用于因文档更新而触发的视图更新。
假设我有一个视图函数来显示在“类型”字段上具有特定值的文档的数量。如果在我插入具有该类型的文档之后但在视图有时间更新之前服务器立即崩溃会发生什么? CouchDB 是否保证下次服务器启动时会更新视图?还是我必须等到其他一些事件触发重新计算视图?
【问题讨论】:
视图,如_changes 提要,实际上只是使用与数据库本身相同的仅附加模型构建的。当您更新一个文档时,您实际上并没有等待视图也被更新。事实上,视图只有在被查询时才会更新。
因此,即使数据库在文档更改和视图重建之间崩溃,这也无关紧要,因为数据库实际上是更改的日志/流,并且可以随时从中构建视图。
【讨论】: