Finding and enumerating document attributes with ActiveCouch
Continuing from my investigation into counting tags with CouchDB and map-reduce, I've made ActiveCouch support the operations required to count all uses of attributes on a certain document type in your database. Through that it's also possible to get all unique values for an attribute in your database.
To use this new functionality just call enumarate_all_[attribute_name]
or find_all_[attribute_name]
on your models.
>> Article.enumerate_all_tags
=> {"security"=>2, "ldap"=>1, "xen"=>1, "stories"=>3, "rails"=>13, "xeriom"=>3, "mysql"=>3, ... }
>> Article.find_all_tags
=> ["agile", "ajax", "apache", "api", "caching", "coding", ... ]
>> Article.find_all_author_ids
=> ["craig@barkingiguana.com"]
If you'd like to see exactly what I did to add this have a look at commit 1cbbe71
.
Disagree? Found a typo? Got a question? Email me at craig@barkingiguana.com.