sails-hook-orm-mongorito
A Sails.js hook to override built-in Waterline ORM by Mongorito.
Important
If you choose to override Waterline (built-in ORM in Sails.js), you should know that the documentation for blueprints, resourceful pubsub and models will no longer be applicable for your application.
Installation
First, install the hook:
$ npm install sails-hook-orm-mongorito
Then, you also need to update your .sailsrc
file to disable the Waterline related hooks:
Usage
Connection
To connect to Mongorito, create a new connection in /config/connections.js
file:
"mongorito":
Warning
The adapter must be of type
mongorito
in oder to be detected by the hook
Like with other Sails.js connections, remember to use it in your config/models.js
file:
connection: 'mongorito'
Models
This hook is loading models according to standard Sails.js conventions. Therefore, you models should be located in api/models/*.js
in order to be located and loaded by this hook.
The model definition must follow the Mongorito ES-6 syntax with a small difference, your model mustn't extend from Model
but from MongoritoModel
which will be globally declared by the hook.
A model example (api/models/Post.js
):
'use strict'; moduleexports = Post;
Models are also globally declared by the hook, so you will be able to access them directly in your Controllers:
'use strict'; const co = ; var MongoritoController = {}; MongoritoController { // Create a new Post document let post = title: 'Node.js rocks!' body: 'Long post body' author: name: 'John Doe' ; ;}; moduleexports = MongoritoController;
Note
To use the ES-6 syntax, you will always have to use the strict mode by calling
'use strict'
in your scripts or by launching your node.js server in strict modenode --use_strict
.
For more information about Mongorito, please visit it's official site.
License
The sails-hook-orm-mongorito module is released under the ICS license.
https://github.com/groupe-sii/sails-generate-gulp/blob/master/LICENSE