An ORM for Node.js and the Sails framework
npm install waterline




Waterline is a next-generation storage and retrieval engine, and the default ORM used in the Sails framework.
It provides a uniform API for accessing stuff from different kinds of databases and protocols. That means you write the same code to get and store things like users, whether they live in MySQL, MongoDB, neDB, or Postgres.
Waterline strives to inherit the best parts of ORMs like ActiveRecord, Hibernate, and Mongoose, but with a fresh perspective and emphasis on modularity, testability, and consistency across adapters.
Starting with v0.13, Waterline takes full advantage of ECMAScript & Node 8's await keyword.
In other words, no more callbacks.
``js`
var newOrg = await Organization.create({
slug: 'foo'
})
.fetch();
> Looking for the version of Waterline used in Sails v0.12? See the 0.11.x branch of this repo. If you're upgrading to v0.13 from a previous release of Waterline _standalone_, take a look at the upgrading guide.
`bash`
$ npm install waterline
Waterline supports a wide variety of adapters, both core and community maintained.
The up-to-date documentation for Waterline is maintained on the Sails framework website.
You can find detailed API reference docs under Reference > Waterline ORM. For conceptual info (including Waterline standalone usage), and answers to common questions, see Concepts > Models & ORM.
#### Help
Check out the recommended community support options for tutorials and other resources. If you have a specific question, or just need to clarify how something works, ask for help or reach out to the core team directly.
You can keep up to date with security patches, the Waterline release schedule, new database adapters, and events in your area by following us (@sailsjs) on Twitter.
#### Tests
All tests are written with mocha and should be run with npm:
` bash``
$ npm test
Waterline, like the rest of the Sails framework, is free and open-source under the MIT License.