比较两个couchdb数据库

时间:2012-05-16 09:45:53

标签: couchdb replication couchdb-python

我有一个带数据库a和数据库b的couchdb实例。它们应该包含相同的文档集,除了_rev属性不同,AIUI意味着我不能使用复制。

如何验证两个数据库是否确实包含相同的文档,否则它们都是“相等”的?

我尝试使用基于python的couchdb-dump工具和很多sed魔法来摆脱_rev和MD5和ETag标头,但是它似乎仍然是JSON结构中的属性顺序略有随机,这意味着我仍然无法轻松地将输出与diff之类的内容进行比较。

这里有更好的方法吗?有其他人想解决类似的问题吗?

1 个答案:

答案 0 :(得分:1)

如果要确保它们完全相同,请编写一个映射作为键的文档路径的映射作业,并将文档散列(以您喜欢的方式生成)作为值。不要在哈希生成中包含_rev字段。

您无法减少到单个哈希值,因为无法保证顺序,但您可以将生成的JSON文档提供给好的diff程序。