这是一个有点模糊的问题,但是请耐心听我说:)
示例架构:
var scoreSchema = mongoose.Schema ({
name : String,
scores : String
});
示例行:姓名:John,分数:“2, 4, 6, 1, 7”
对于每一行,我需要将分数字符串转换为数组并排序。 scores.split(",").sort();
只有这个结果数组才会被使用,但我仍然需要将原始的长字符串保留在数据库中。
所以我需要创建某种“虚拟”列或引用,以便以后可以轻松访问。有什么办法可以做到这一点吗?
最佳答案
您可以使用 Mongoose 的 virtuals对此的支持:
scoreSchema.virtual('splitScores').get(function() {
return this.scores.split(",").sort();
});
完成后,任何分数文档实例都将具有 splitScores
属性,它是 scores
的排序数组版本。
关于node.js - Mongoose:创建 'virtual column' 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25922879/