1

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

我如何验证这两个数据库确实包含相同的文档,这些文档在其他方面都“相等”?

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

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

4

1 回答 1

1

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

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

于 2012-05-16T10:12:13.017 回答