2017-09-26 4 views
1

J'ai supprimé des documents par erreur dans Cloudant mais je n'arrive pas à trouver un moyen de les récupérer. J'ai suivi ce tuto: http://garmoncheg.blogspot.com/2013/11/couchdb-restoring-deletedupdated.htmlRécupérer un document supprimé avec Cloudant

Et cette réponse: Retrieve just deleted document

Sans succès ... Quelle est la procédure normale? Chaque fois que j'essaie d'obtenir une révision spécifique du document supprimé: https://address/mydb/$id?rev=$rev je reçois seulement un document partiel

Répondre

1

Si vous êtes rapide, vous pouvez récupérer le corps d'un document récemment supprimé avec GET /mydb/id?rev=xx est l'ancien numéro de révision. Mais, périodiquement, Cloudant (et CouchDB) effectue une opération de "compactage" qui supprime les corps des anciennes révisions qui ne sont plus nécessaires. Cela laisserait un document plus ancien avec seulement _id, _rev et _deleted=true, ce qui est, je suppose, ce que vous voyez.

+0

Je pense que c'est une bonne réponse, mais je ferai remarquer que c'est vraiment un effet secondaire d'utiliser la méthode 'DELETE', qui est ce qui" efface "la révision finale qui reste. Si vous enregistrez un document avec '" _deleted ": true' à la place, vous pouvez laisser d'autres champs dans cette" révision finale "et ils ne seront pas compactés. (J'explique plus à http://n.exts.ch/2012/11/baleting si vous êtes intéressé.) – natevw