Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# CouchDB中的冲突处理_C#_Couchdb_Mycouch - Fatal编程技术网

C# CouchDB中的冲突处理

C# CouchDB中的冲突处理,c#,couchdb,mycouch,C#,Couchdb,Mycouch,假设我有一个有两个属性的文档,开始和结束。一个版本的开始时间可能为空,结束时间可能为空,反之亦然。我希望最终文档包含从修订开始的开始时间,而不是选择一个修订作为赢家,因为该修订不为空,并且结束时间相同 在同步过程中,是否有处理此类冲突解决的最佳做法?我找到的文档包含了选择单个版本作为赢家的说明,但我想从多个版本中选择值 特定于C/MyTouch库的示例将非常好,但也非常感谢任何常规或其他语言建议。在复制过程中,您不能指定自定义的冲突解决方法a.k.a.同步。CouchDB会自动选择获胜版本,您无

假设我有一个有两个属性的文档,开始和结束。一个版本的开始时间可能为空,结束时间可能为空,反之亦然。我希望最终文档包含从修订开始的开始时间,而不是选择一个修订作为赢家,因为该修订不为空,并且结束时间相同

在同步过程中,是否有处理此类冲突解决的最佳做法?我找到的文档包含了选择单个版本作为赢家的说明,但我想从多个版本中选择值


特定于C/MyTouch库的示例将非常好,但也非常感谢任何常规或其他语言建议。

在复制过程中,您不能指定自定义的冲突解决方法a.k.a.同步。CouchDB会自动选择获胜版本,您无法影响:

默认情况下,CouchDB选择一个任意版本作为赢家, 使用确定性算法,以便做出相同的选择 在所有同龄人身上

您可以等待复制完成,然后通过执行特定于应用程序的文档修订合并来处理冲突

查看的文档中,我发现了以下伪代码示例:

获取docid?冲突=true 对于_冲突数组中的每个成员: 获取docid?rev=xxx 如果在此阶段出现任何错误,请从步骤1重新启动。 可能有一场比赛,其他人已经解决了这个问题 冲突并删除了该版本 执行特定于应用程序的合并 编写批量文档,更新第一次修订并删除 其他转速。