Creating a Query DSL Using Clojure and MongoDB
Christopher Maier:
Not only does creating a DSL make querying easy (particularly with complex conditions), but it also insulates your application from change in a few important ways. Especially in the initial, exploratory stages of a project, it is common to change and evolve a data schema, and NoSQL environments make this very simple. Using a DSL will shield your code from these changes; you only need to change the DSL “atoms” that the schema change affects.
In case you missed it, Foursquare open sourced they type-safe Scala DSL for MongoDB.
Original title and link: Creating a Query DSL Using Clojure and MongoDB (©myNoSQL)
via: http://christophermaier.name/2011/07/17/creating-a-query-dsl-using-clojure-and-mongodb.html