Hi Mark,

No, it doesn't read the db file directly.

Couchtato interacts with CouchDB via couchdb's http api
http://wiki.apache.org/couchdb/HTTP_Document_API using Cradle
https://github.com/cloudhead/cradle .
It reads the documents using linked list pagination as described here
http://guide.couchdb.org/draft/recipes.html#fast , Couchtato then applies
all the functions described in its config file (on filesystem) on each
document one by one.
Writing / updating / deleting document are also done via http api.

It can read about 230000 documents (CouchDB server on an external network)
in about 2.5 minutes, so that's about 1533 docs per second.

The intention of this tool is to provide an easy way to 'do something' with
documents in couchdb without having to touch the design document on couchdb
itself.


Cheers,
Cliff.

On Thu, Jun 9, 2011 at 3:06 PM, Mark Hahn <[email protected]> wrote:

> I assume it reads the db file directly.  How does it do writes?
>
> On Wed, Jun 8, 2011 at 5:51 AM, Cliffano Subagio <[email protected]>
> wrote:
>
> > Hi all,
> >
> > I'd like to let you know about Couchtato -
> > https://github.com/cliffano/couchtato
> > It's a command line tool (using nodejs) that allows you to apply
> javascript
> > functions against all documents in a database, 'offline' in the sense
> that
> > those javascript functions live in a couchtato config file on your local
> > filesystem instead of a view on CouchDB server.
> >
> > Couchtato is also handy for:
> > - finding documents with a certain criteria
> > - generating database dumps
> > - updating, deleting, or counting documents
> >
> > Since Couchtato is just a simple command line tool, the users won't need
> to
> > know much about CouchDB / views / design documents, they only need to
> know
> > the database URL and to create some javascript functions - simple enough
> > for
> > non-developers.
> >
> > Hopefully this tool can be useful for someone out there.
> >
> > Cheers,
> > Cliff
> >
>
>
>
> --
> Mark Hahn
> Website Manager
> [email protected]
> 949-229-1012
>

Reply via email to