Imitando "transações" no CouchDB
O CouchDB não suporta transações. Isso não é uma falha de design do banco, mas uma escolha em questão de escalabilidade, escolhendo Availability e Partition Tolerance em troca da Consistency do teorema CAP. O CouchDB é apenas eventualmente consistente.
A única consistência que o CouchDB garante são atualizações dentro de um mesmo documento. Qualquer modificação em mais de um documento ao mesmo tempo não pode ter garantia de consistência. Em outras palavras, a modificação de um documento pode falhar e a do outro funcionar. E isso não é um problema dependendo do software que você quer desenvolver.
Apesar disso, é possível simular consistência no CouchDB usando um padrão de projeto de software chamado Try-Confirm/Cancel (TCC).
Referêcias
Posso fazer transações no CouchDB?
https://stackoverflow.com/questions/299723/can-i-do-transactions-and-locks-in-couchdb
Artigo científico sobre o assunto
http://ws-rest.org/2014/sites/default/files/wsrest2014_submission_7.pdf
TCC aplicado ao REST
https://dzone.com/articles/transactions-for-the-rest-of-us