Mungo, Sortieren Sie die Abfrage durch besiedeltes Gebiet

Soweit ich weiß, ist es möglich die Art besiedelt docs mit Mungo (Quelle).

Ich bin auf der Suche nach einem Weg, um eine Abfrage Sortieren, indem Sie einen oder mehr bevölkerten Bereichen.

Betrachten Sie diese zwei Mungo-schemas :

var Wizard = new Schema({
    name  : { type: String }
, spells  : { [{ type: Schema.ObjectId, ref: 'Spell' }] }
});

var Spell = new Schema({
    name    : { type: String }
,   damages : { type: Number }
});

JSON-Beispiel:

[{
    name: 'Gandalf',
    spells: [{
            name: 'Fireball',
            damages: 20
        }]
}, {
    name: 'Saruman',
    spells: [{
            name: 'Frozenball',
            damages: 10
        }]
}, {
    name: 'Radagast',
    spells: [{
            name: 'Lightball',
            damages: 15
        }]
}]

Möchte ich Sortieren Sie diese Assistenten durch Ihre Zauber-Schaden, mit so etwas wie :

WizardModel
  .find({})
  .populate('spells', myfields, myconditions, { sort: [['damages', 'asc']] })
//Should return in the right order: Saruman, Radagast, Gandalf

Ich bin eigentlich tun diese Art von Hände, nachdem Sie die Abfragen und optimieren möchten, die.

  • Welche version von Mongoose verwenden Sie? Ich kenne die Sortierung syntax ziemlich verändert in 3.0.
  • Ich bin mit Mungo 2.5.14. Ich habe eine wichtige demonstration der mein Projekt in zwei Tagen, also werde ich nicht das Risiko eingehen, meinen stack aktualisieren.
Schreibe einen Kommentar