Check out DeriveJS , a DRY ODM for MongoDB, with a lean type-less syntax for defining models, that leverages Javascript Proxies - to let you create new data object instances and manipulate their properties, as though they are "native" JS objects, while taking care of all data persistence transparently in the background (you don't need to explicitly call .save() or .update() methods for data persistence), while running bulk operations requests (minimizing DB requests and increasing performance) in fixed (settable per collection) intervals.
Disclosure: I'm its developer.