couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kowsik <kow...@gmail.com>
Subject Re: Bulk Updates in CouchDB
Date Tue, 16 Nov 2010 03:06:18 GMT
You can't do this at the moment. At least, not that I know of.

For #1, my current trick is to generate a view with a map function
that looks like this:

map: function(doc) {
    emit(null, doc._rev);
}

This makes it easy to convert the results of the view (without
stale=ok) into a bulk-delete by iterating over the view, but not
fetching each document to get at the revision. This does mean that the
documents haven't been updated between the view-fetch and the
bulk-delete. But for my use-case, this works.

For #2, you have to iterate over from the client side. Unless, someone
else has another idea.

K.
---
http://www.pcapr.net
http://twitter.com/pcapr
http://labs.mudynamics.com

On Mon, Nov 15, 2010 at 7:01 PM, Neville Franks <subs@surfulater.com> wrote:
> Hi,
> I am just learning about CouchDB so please excuse this nooby question.
>
> I've read lots the past few days including
> http://wiki.apache.org/couchdb/HTTP_Bulk_Document_API and a fair bit
> of two of the online CouchDB books.
>
> My question is how do I do some simple things like:
>
> 1) Delete all documents where key.value = xxx
>
> 2) Update all documents where key.value = xxx so value = yyy
>
> I want the DB to do these, not for me to have to iterate through the
> DB in code. From what I've read about Views, they are read-only and
> therefore can't be used in update/delete operations.
>
> I've read lots on views and CouchDB seems great at getting information
> out in all sorts of ways, however basic bulk update/delete operations
> are so far alluding me.
>
> My main exposure to DB's at this time is using SQLite and these sorts
> of things are of course easy and quick to do in SQL.
>
> Hopefully I'm missing something obvious.
>
> ---
> Neville Franks,  http://www.surfulater.com
>
>

Mime
View raw message