2011-02-11 5 views
7

Je travaillais couchdb-python (http://code.google.com/p/couchdb-python/) et je me demandais si j'ai un moyen de récupérer une liste complète des révisions qui ont eu lieu au niveau du document? Supposons que j'ai une base de données nommée "films" et qu'elle contient plusieurs documents. Chacun de mes documents comporte plus de 3 révisions. Puis-je récupérer mes documents en fonction des révisions?Obtenir la liste complète des révisions au niveau du document en utilisant CouchDB-Python?

Si oui, comment? Je n'ai vu aucune méthode évidente pour le faire en utilisant CouchDB-Python

Répondre

7

Je ne suis pas sûr de couchdb-python, cependant vous pouvez obtenir l'historique complet des révisions connues d'un document via l'API HTTP. Pour plus d'informations, consultez la documentation CouchDB Document API.

Une requête normale:

$ curl jhs.couchone.com/db/doc 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de' } 

Ajouter ?revs=true voir un tableau de révisions anciennes.

$ curl jhs.couchone.com/db/doc?revs=true 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de', 
    _revisions: 
    { start: 3, 
    ids: 
     [ '825cb35de44c433bfb2df415563a19de', 
     '7051cbe5c8faecd085a3fa619e6e6337', 
     '967a00dff5e02add41819138abb3284d' ] } } 

vous pouvez également ajouter ?revs_info=true pour plus de détails sur les révisions, comme si elles sont encore disponibles (à savoir qu'ils ont été ajoutés après le dernier compactage et vous pouvez les chercher).

$ curl jhs.couchone.com/db/doc?revs_info=true 
{ _id: 'doc', 
    _rev: '3-825cb35de44c433bfb2df415563a19de', 
    _revs_info: 
    [ { rev: '3-825cb35de44c433bfb2df415563a19de', 
     status: 'available' }, 
    { rev: '2-7051cbe5c8faecd085a3fa619e6e6337', 
     status: 'available' }, 
    { rev: '1-967a00dff5e02add41819138abb3284d', 
     status: 'available' } ] } 
+0

bonjour, merci pour votre réponse. Puis-je récupérer le document en fonction de l'historique des révisions? Par exemple, document avec ID: 132, révision 3? – DjangoRocks

+0

En utilisant la dernière méthode que j'ai montrée '? Revs_info = true', vous pouvez * voir * quelles révisions vous pouvez récupérer. Ils montreront 'status: 'available''. Cependant, CouchDB est toujours compact, donc vous ne pouvez pas supposer que vos données seront là. – JasonSmith

Questions connexes