The official documentation has moved to http://docs.couchdb.org — The transition is not 100% complete, but http://docs.couchdb.org should be seen as having the latest info. In some cases, the wiki still has some more or older info on certain topics inside CouchDB.

You need to be added to the ContributorsGroup to edit the wiki. But don't worry! Just email any Mailing List or grab us on IRC and let us know your user name.

Tags are stored as a list of strings inside the document:

{
 "_id":"123BAC",
 "_rev":"946B7D1C",
 "type":"post",
 "subject":"I like Planktion",
 "author":"Rusty",
 "created":"2006-08-15T17:30:12Z-04:00",
 "body":"I decided today that I don't like baseball. I like plankton.",
 "tags":["plankton", "baseball", "decisions"]
}

CouchDB Views

Retrieve all tags with their counts:

map

function(doc) {
  if (doc.type == 'post' && doc.tags) {
    doc.tags.forEach(function(tag) {
      emit(tag, 1);
    });
  }
}

reduce

function(keys, values) {
  return sum(values);
}

Note: when retrieving data from this view, if the results are reduced to a single row, you may need to use the ?group=true option to get counts reduced by tag. This may be a feature in version 0.8.0 and forward? see HttpViewApi.

Retrieve documents by a specific tag:

map

function(doc) {
  if (doc.type == 'post' && doc.tags) {
    doc.tags.forEach(function(tag) {
      emit(tag, doc);
    });
  }
}

Tags_inside_documents (last edited 2011-11-23 15:13:28 by JanLehnardt)