I've been following CouchDB for a while, but only started playing with it seriously very recently.

One thing I keep catching myself with is that map functions receive the document as a parameter, and I keep looking for it in 'this'. Maybe that's because I spend too much time with JavaScript, or maybe it's because I don't spend enough time with CouchDB. A one-line patch follows, that allows for 'this' to be used as well as the positional arg.

There may well be good reasons why this isn't sensible, and really it's just sugar, but I thought I'd dive in and give it a try.

Regards,
James.

--- /Users/jduncan/oldmain.js   2008-12-14 11:04:11.000000000 -0500
+++ /opt/local/share/couchdb/server/main.js 2008-12-14 11:03:16.000000000 -0500
@@ -91,7 +91,7 @@
         for (var i = 0; i < funs.length; i++) {
           map_results = [];
           try {
-            funs[i](doc);
+            funs[i].apply(doc, [ doc ]);
             buf.push(toJSON(map_results));
           } catch (err) {
             if (err == "fatal_error") {

Reply via email to