I\'m trying to deep populate a collection.
For example
// UnitType.js
name: { type: \'string\' }
// Unit.js
unitType: {
model: \'unitType\',
via
You could try to replace Waterline ORM with Offshore ORM. There is a hook for sails to do that - sails-hook-orm-offshore.
It's quite easy to implement to your existing project, because its fork of Waterline wits some more features. Only cons i found is that sails-hook-validation stopped working.
How to install
npm install sails-hook-orm-offshore --save
Configuration
.sailsrc
{
"hooks": {
"orm": false,
"pubsub": false
}
}
Defaults
config/globals.js
adapters: true,
models: true
Usage
Now you will be allowed to deep populate in your queries. For example (from documentation):
User.find()
.populate('foo.bar', { name: 'foo' }) //populate foo into user and bar into foo
.exec(function(err, users) {
console.log(users[0].foo.bar.name) // 'foo'
});
Merge deep populate with waterline
npm i Atlantis-Software/waterline#deepPopulate