Originally inspired by the desire to have something like Ember Data that worked in Angular.js and other frameworks, JSData was created. Turns out, JSData works in Node.js, so server-side adapters have been written. JSData is the Model layer you've been craving. It consists of a convenient framework-agnostic, datastore-agnostic ORM for managing your data, which uses adapters to connect to various persistence layers.
The most commonly used adapter is the HTTP adapter, which is perfect for connecting your frontend to your backend. localStorage, localForage and Firebase adapters are also available for the browser. On the server you could hook up to the SQL adapter (Postgres/MySQL/MariaDB/SQLite3), MongoDB, or RethinkDB adapters. More adapters are coming, and you're free to implement your own.
Here's a talk on JSData:
Updated 4 years ago