2014-09-18 69 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數組排序版本。