Sha256: 6583ede78c43e203e96542754db4ea3503a5a74931902b0b9a8ee34ce241d64d
Contents?: true
Size: 756 Bytes
Versions: 2
Compression:
Stored size: 756 Bytes
Contents
// TODO: port it to map reduce function tagCloud(collection, q, limit) { var counts = db.eval( function(collection, q){ var counts = {constructor: 0}; db[collection].find(q, {"tags":1}).limit(500).forEach( function(p){ if ( p.tags ){ for ( var i=0; i<p.tags.length; i++ ){ var name = p.tags[i]; counts[name] = 1 + ( counts[name] || 0 ); } } } ); if(counts["constructor"] == 0) { delete counts.constructor; } return counts; }, collection, q ); // maybe sort to by nice var sorted = []; for ( var tag in counts ){ sorted.push( { name : tag , count : counts[tag] } ) } return sorted.slice(0,limit||30); }
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
mongoid_ext-0.9.0 | lib/mongoid_ext/js/tag_cloud.js |
mongoid_ext-0.7.1 | lib/mongoid_ext/js/tag_cloud.js |