Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for 
change notification.

The "View_Snippets" page has been changed by GregTappero.
The comment on this change is: remove faulty sort.
http://wiki.apache.org/couchdb/View_Snippets?action=diff&rev1=26&rev2=27

--------------------------------------------------

    * [[#aggregate_sum|Joining an aggregate sum along with related data ]]
    * [[#summary_stats|Computing simple summary statistics 
(min,max,mean,standard deviation) ]]
    * [[#interactive_couchdb|Interactive CouchDB Tutorial]]
-   * [[#sort_values_1|Sort values with reduce]]
+ 
  
  <<Anchor(common_mistakes)>>
  == Common mistakes ==
@@ -615, +615 @@

  == Interactive CouchDB Tutorial ==
  See [[http://labs.mudynamics.com/2009/04/03/interactive-couchdb/|this blog 
post]], which is a CouchDB emulator (in JavaScript) that explains the basics of 
map/reduce, view collation and querying CouchDB RESTfully.
  
- <<Anchor(sort_values_1)>>
- == Sort values with reduce ==
- 
- '''Map'''
- 
- {{{
- function(doc) {
-   emit(doc.name, doc.int_list);
- }
- }}}
- 
- "alice"   [1,5,3]
- 
- "bob"     [6,2,8]
- 
- "bob"     [5,6,4,12]
- 
- We want to get the following output:
- 
- "alice"         [1, 3, 5]
- 
- "bob"     [2, 4, 5, 6, 6, 8, 12]
- 
- '''Reduce'''
- 
- {{{
- function(keys, values, rereduce)
- {
-     var int_list = new Array();
- 
-     if(!rereduce) {
-        
-         // values is the list of matching map keys (user) values (int_list).
-         
-         for(var v in values) {
- 
-             // we loop the int in int_list
- 
-             for (var t in values[v]) {
- 
-                 // append the int element to int_list
- 
-                 int_list.push(values[v][t]);
- 
-             }
-         }
-     }
-     else
-     {
-         // in rereduce values[0] is the output return int_list 
-         // of a previous reduce.
- 
-         int_list = values[0];  
- 
-         for(var v=1; v < values.length; v++) {
- 
-             for (var t in values[v]) {
- 
-                 int_list.push(values[v][t]);
- 
-             }
-         }
-     }
-  
-     function sort_int(a, b) {return a - b;}
- 
-     /* 
-     if sort_int is less than 0, place a before b.
-     if sort_int returns 0, leave a and b unchanged in respect to eachother.
-     if sort_int is greater than 0, place a after b.
-     */
- 
-     int_list.sort(sort_int);
-    
-     return int_list;
- }
- }}}
- 

Reply via email to