Disons que j'ai un certain schéma qui a un champ virtuel comme celui-ciTri par champ virtuel dans MongoDB (mangouste)
var schema = new mongoose.Schema(
{
name: { type: String }
},
{
toObject: { virtuals: true },
toJSON: { virtuals: true }
});
schema.virtual("name_length").get(function(){
return this.name.length;
});
Dans une requête est-il possible de trier les résultats par le champ virtuel? Quelque chose comme
schema.find().sort("name_length").limit(5).exec(function(docs){ ... });
Lorsque je tente cela, les résultats sont simples non triés ...
Je sais quels attributs virtuels sont et qu'ils ne sont pas stockés dans db. Je me promenais peut-être il pourrait y avoir un plugin ou une méthode spéciale qui appelle tous les getters pour les attributs virtuels, puis trie docs. Je suppose qu'il n'y a pas une telle chose. – ArVan
Donc, je suppose que ma solution devrait être de trier et de limiter en javascript après avoir obtenu des résultats? – ArVan
et je suppose que vous ne pouvez pas utiliser les virtuals en condition de recherche? – ArVan