Mangusto, consulta de classificação por campo preenchido
Tanto quanto eu sei, é possível classificar docs preenchidos com Mongoose (fonte).
Estou procurando uma maneira de classificar uma consulta por um ou mais campos preenchidos.
Considere estes dois esquemas do Mongoose:
var Wizard = new Schema({
name : { type: String }
, spells : { [{ type: Schema.ObjectId, ref: 'Spell' }] }
});
var Spell = new Schema({
name : { type: String }
, damages : { type: Number }
});
Exemplo de JSON:
[{
name: 'Gandalf',
spells: [{
name: 'Fireball',
damages: 20
}]
}, {
name: 'Saruman',
spells: [{
name: 'Frozenball',
damages: 10
}]
}, {
name: 'Radagast',
spells: [{
name: 'Lightball',
damages: 15
}]
}]
Eu gostaria de classificar esses magos por seus danos de magia, usando algo como:
WizardModel
.find({})
.populate('spells', myfields, myconditions, { sort: [['damages', 'asc']] })
// Should return in the right order: Saruman, Radagast, Gandalf
Eu estou realmente fazendo esses tipos por mãos após a consulta e gostaria de otimizar isso.