13

このような仮想フィールドを持つスキーマがあるとしましょう

var schema = new mongoose.Schema(
{
    name: { type: String }
},
{
    toObject: { virtuals: true },
    toJSON: { virtuals: true }
});

schema.virtual("name_length").get(function(){
    return this.name.length;
});

クエリでは、結果を仮想フィールドで並べ替えることができますか? 何かのようなもの

schema.find().sort("name_length").limit(5).exec(function(docs){ ... });

これを試してみると、結果は単純ではなくソートされています...

4

2 に答える 2

13

仮想フィールドはデータベースに保存されていないため、仮想フィールドで並べ替えることができません。

仮想属性は、あると便利な属性ですが、mongodb に永続化されません。

http://mongoosejs.com/docs/2.7.x/docs/virtuals.html

于 2012-11-19T11:51:06.313 に答える