I\'ve been trying to figure out how to create a CouchDB view that will let me query all the documents that have a start date greater than A and an end date less than B.
Just create a map like this:
function (doc) {emit(doc.timestamp, 1)}
then query the view with:
?descending=true&limit=10&include_docs=true // Get the latest 10 documents
The view will be sorted oldest to latest so descending=true reverses that order.
If you want a specific range.
?startkey="1970-01-01T00:00:00Z"&endkey="1971-01-01T00:00:00Z"
would get you everything in 1970.
These should help: