diff options
Diffstat (limited to 'jstests/core/group5.js')
-rw-r--r-- | jstests/core/group5.js | 53 |
1 files changed, 26 insertions, 27 deletions
diff --git a/jstests/core/group5.js b/jstests/core/group5.js index 5d13297bd4d..aa6283f73ff 100644 --- a/jstests/core/group5.js +++ b/jstests/core/group5.js @@ -3,36 +3,35 @@ t = db.group5; t.drop(); // each group has groupnum+1 5 users -for ( var group=0; group<10; group++ ){ - for ( var i=0; i<5+group; i++ ){ - t.save( { group : "group" + group , user : i } ); +for (var group = 0; group < 10; group++) { + for (var i = 0; i < 5 + group; i++) { + t.save({group: "group" + group, user: i}); } } -function c( group ){ - return t.group( - { - key : { group : 1 } , - q : { group : "group" + group } , - initial : { users : {} }, - reduce : function(obj,prev){ - prev.users[obj.user] = true; // add this user to the hash - }, - finalize : function(x){ - var count = 0; - for (var key in x.users){ - count++; - } - - //replace user obj with count - //count add new field and keep users - x.users = count; - return x; +function c(group) { + return t.group({ + key: {group: 1}, + q: {group: "group" + group}, + initial: {users: {}}, + reduce: function(obj, prev) { + prev.users[obj.user] = true; // add this user to the hash + }, + finalize: function(x) { + var count = 0; + for (var key in x.users) { + count++; } - })[0]; // returns array + + // replace user obj with count + // count add new field and keep users + x.users = count; + return x; + } + })[0]; // returns array } -assert.eq( "group0" , c(0).group , "g0" ); -assert.eq( 5 , c(0).users , "g0 a" ); -assert.eq( "group5" , c(5).group , "g5" ); -assert.eq( 10 , c(5).users , "g5 a" ); +assert.eq("group0", c(0).group, "g0"); +assert.eq(5, c(0).users, "g0 a"); +assert.eq("group5", c(5).group, "g5"); +assert.eq(10, c(5).users, "g5 a"); |