“我怎么能?”;“取消删除”;CouchDB中的一组文档?

“我怎么能?”;“取消删除”;CouchDB中的一组文档?,couchdb,Couchdb,我在CouchDB数据库中有一大组文档,它们只是使用\u deleted:true意外地被批量删除了。我还为这组数据提供了一个备份,其中包括它们最近已知的良好版本和元数据。我需要维护相同的\u id,因此不能使用新的\u id进行简单还原 压缩尚未运行,我可以通过&rev=url参数及其附件(需要)访问这些文档中的任何一个 我需要做的是将这些文件“恢复”到我存档的版本。令人惊讶的是,对于如何实现这一点,我没有提出任何疑问。感谢您的提示或技巧。如果您只需将整个文档(包括附件存根)连同删除的版本放回

我在CouchDB数据库中有一大组文档,它们只是使用
\u deleted:true
意外地被批量删除了。我还为这组数据提供了一个备份,其中包括它们最近已知的良好版本和元数据。我需要维护相同的
\u id
,因此不能使用新的
\u id
进行简单还原

压缩尚未运行,我可以通过
&rev=
url参数及其附件(需要)访问这些文档中的任何一个


我需要做的是将这些文件“恢复”到我存档的版本。令人惊讶的是,对于如何实现这一点,我没有提出任何疑问。感谢您的提示或技巧。

如果您只需
将整个文档(包括附件存根)连同删除的版本放回数据库,但减去
\u deleted:true
参数,那么一切都会好起来。

如果您只需
将整个文档(包括附件存根)放回数据库,使用deleted rev,但减去
\u deleted:true
参数,一切都会好起来。

我接受这个答案,因为它是正确的,但有一个重要的警告-
\u attachments
属性必须仍然存在于
\u deleted
文档中。如果已禁用此属性,则可以尝试进行元数据还原,但会遇到以下错误消息:
{“error”:“missing_stub”,“reason”:“id:777a5466a2ecd90a288ce38f4422a82bf,name:myattachment”}
。这种情况下的解决方案(实际上是我的)是运行批处理作业,从旧版本中检索附件,从备份中恢复文档属性,然后重新附加您刚刚批处理的文件。我假设当您说您使用
\u deleted:true
删除了文档时,您没有删除
\u附件
存根。如果你删除了它们,那么是的,你需要从其他地方恢复它们。我接受了这个答案,因为它是正确的,但有一个重要的警告-
\u attachments
属性必须仍然存在于
\u deleted
文档中。如果已禁用此属性,则可以尝试进行元数据还原,但会遇到以下错误消息:
{“error”:“missing_stub”,“reason”:“id:777a5466a2ecd90a288ce38f4422a82bf,name:myattachment”}
。这种情况下的解决方案(实际上是我的)是运行批处理作业,从旧版本中检索附件,从备份中恢复文档属性,然后重新附加您刚刚批处理的文件。我假设当您说您使用
\u deleted:true
删除了文档时,您没有删除
\u附件
存根。如果您删除了它们,那么是的,您需要从其他地方恢复它们。