Many years after CouchDB debuted, we still see developer after developer—manager after manager—bypass CouchDB only to rebuild exactly what CouchDB offers using a collection of other technologies. As a Netflix employee I’m well aware of the diverse set of needs that can lead to an number of different combinations of datastores and web applications fronting them. However, the majority (a deafening majority in fact) of applications need only a somewhat performant storage mechanism paired with a JSON-HTTP transport mechanism. Why use PostgreSQL w/ an ORM and Spring to achieve the exact same thing CouchDB does by itself? I don’t know if I’ll ever understand why so many teams made the wrong decision there.
The good news is that we don’t need to be one of those teams. You can get on the rapid development train with CouchDB and even take it up a notch by letting Nginx take care of a couple little things that you might be tempted to use Node.js for—but really do not need to. For now I’ll leave you with an Nginx site config that will allow you to use cross-origin resource sharing w/ CouchDB, effectively eliminating the need for any database server programming. Without further ado: