2017-05-12 1 views
0

Je veux obtenir tous les documents dans une base de données CouchDB, puis écouter les changements sur cette base de données. Je pourrais:CouchDB - Get DB's update_seq basé sur le document

1- Obtenez les docs en utilisant la vue _all_docs./db/_all_docs
2- Récupère le db update_seq actuel./db.
3- écouter les changements dans la base de données./db/_changes? since = update_seq

Mais que se passe-t-il si un ou plusieurs documents sont créés juste après l'interrogation de la vue _all_docs et avant l'obtention de update_seq? Si cela arrive quand j'écoute les changements qui se sont produits après update_seq, je ne recevrai jamais ces documents.

Existe-t-il un moyen de savoir quel était le paramètre update_seq de la base de données lorsqu'un document donné comportait une révision donnée? Avec ça, je pourrais être sûr à 100% que je ne manquerai jamais un document.

Répondre

1

Ajouter update_seq=true à votre demande de _all_docs, vous obtiendrez le update_seq pour la base de données à ce moment-là. (ceci évite la condition de course dont vous avez peur)

+0

Merci! ça a marché. –