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