couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "jean honlet (JIRA)" <j...@apache.org>
Subject [jira] [Created] (COUCHDB-1612) Transform all documents at once
Date Mon, 26 Nov 2012 14:46:59 GMT
jean honlet created COUCHDB-1612:
------------------------------------

             Summary: Transform all documents at once
                 Key: COUCHDB-1612
                 URL: https://issues.apache.org/jira/browse/COUCHDB-1612
             Project: CouchDB
          Issue Type: Wish
          Components: Futon
            Reporter: jean honlet


Sometimes, I would like to modify all documents at once...

I use this function (jQuery, jquery.couchdb and Underscore necessary):

function actionAllTransform(transform, commit) {
    // First get all documents:
    jQuery.couch.db(dbname).allDocs({
        include_docs: true,
        success: function(data) {
            data = _.map(data.rows, function(v) {
                return v.doc;
            });
            // Remove the design documents
            data = _.filter(data, function(doc) { return (doc._id.substring(0,8) != "_design/");
});

            // transform each document by a "transform" function
            data = _.map(data, transform);

            // If the function gave back null value, filter them out (they are considered
as not modified)
            data = _.filter(data, function(doc) { return (doc != null); });

            if (data.length == 0) {
                // no record left, nothing to do...
                return 0;
            }
            var bulk = { all_or_nothing: true, docs: data };

            // Check the result
            console.log(bulk);
            if (typeof(commit) == 'undefined')
                return

            // If commit, save the bulk in the db
            if (commit) {
                jQuery.couch.db(dbname).bulkSave(bulk, {
                    success: function() {
                          // youpee, it worked
                    }
                });
            }
        }
    });
};


As far as I understand, the question is to be able to put that function in the futon interface...
and render results in the same styleguide than the other panels.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message