2014-09-18 73 views
1

的“虚拟列”这有点模糊的问题,但请,熊:)猫鼬:我创造价值

示例模式:

var scoreSchema = mongoose.Schema ({ 
    name : String, 
    scores : String 
}); 

实例行:名:约翰,得分: “2,4,6,1,7”

对于每一行,我需要将分数字符串转换为数组和排序。 scores.split(",").sort(); 只有这个结果数组会被使用,但我仍然需要保留数据库中的原始长字符串。

所以我需要创建某种'虚拟'列或引用,以便以后轻松访问。有什么办法可以做到这一点?

回答

0

您可以使用猫鼬的virtuals支持这一点:

scoreSchema.virtual('splitScores').get(function() { 
    return this.scores.split(",").sort(); 
}); 

有了到位,任何得分文档实例将有一个splitScores属性,是的scores数组排序版本。