Sails.js/Waterline adapter for MongoDB. (See compatibility for more details.)
Provides easy access to MongoDB from Sails.js & Waterline. This module is a Sails/Waterline adapter maintained by the core team. Its goal is to provide robust, easy-to-use access to MongoDB from Sails.js and Waterline.
As an adapter, this module implements a set of declarative interfaces, conventions, and best-practices for integrating with Mongo databases. Strict adherence to an adapter specification enables the (re)use of built-in generic test suites, standardized documentation, reasonable expectations around the API for your users, and overall, a more pleasant development experience for everyone.
To install this adapter, run:
$ npm install sails-mongo
Then connect the adapter to one or more of your app's datastores.
Visit Models & ORM in the docs for more information about using models, datastores, and adapters in your app/microservice.
This version of the adapter has been tested with MongoDB versions 3.4 and 3.6.
This adapter implements the following methods:
Method | Status | Layer |
---|---|---|
N/A | ||
N/A | ||
validateModelDef | Implemented | Modeled |
createRecord | Implemented | Modeled (DML) |
createEachRecord | Implemented | Modeled (DML) |
updateRecords | Implemented | Modeled (DML) |
destroyRecords | Implemented | Modeled (DML) |
findRecords | Implemented | Modeled (DQL) |
join | not supported | Modeled (DQL) |
countRecords | Implemented | Modeled (DQL) |
sumRecords | Implemented | Modeled (DQL) |
avgRecords | Implemented | Modeled (DQL) |
definePhysicalModel | Implemented | Migratable |
dropPhysicalModel | Implemented | Migratable |
setPhysicalSequence | not supported | Migratable |
See Extending Sails > Adapters > Custom Adapters in the Sails documentation, or check out recommended support options.
Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.
This repository includes a Docker Compose file that helps setting up the environment needed to run the test.
The npm run docker-test
command runs the tests on a single run under the supported MongoDB version
(at this time, up to 3.6).
For more information, check MongoDB's Support Policy.
To run tests while developing, you can run npm run docker
. This command opens a docker instance and opens a shell.
From there you can run npm test
to run the tests as many times as you need.
Thanks so much to Ted Kulp (@tedkulp) and Robin Persson (@prssn) for building the first version of this adapter back in 2013. Since then, it has evolved into a core adapter within the framework.
To report a bug, click here.
This core adapter is available under the MIT license.
As for Waterline and the Sails framework? They're free and open-source under the MIT License.