A Document Runner would provide functionality to run a transform function across all documents in the database. This way you could do maintenance and migrations, with incurring a bunch of http overhead.

The idea was originally floated on the couchdb-user mailing list.

Requirements

Ability to specify a job in a view-server like context (Javascript other language function) and have it run across all docs (like a view is), but with the additional ability to write back to the document (through the http api, so we don't have to add a socket-based update interface).

Caveat:

We may not be able to guarantee that runner functions see each document only once, so functions need to be aware only to modify documents that require modification.

Uses