这是我的架构:
var cvSchema = new Schema({
name: {type: String, required: true},
alias: {type: String, required: true, minlength: 6, maxlength: 6},
profitCentre: {type:Number, min:1000, max:9999},
city: String,
company: String,
profession: {
type: Schema.ObjectId,
ref: 'profession',
required: true
},
});
职业财产是一个参考。这个职业可以有一个价值,但有几种语言。有关于如何做到这一点的最佳做法吗?
我想出了两个选择:
var professionSchema = new Schema({
values: [
{
lang: {type: String, enum: ['sv', 'en']},
name: {type: String, required: true}
}
]
});
选项二:(en = english,sv = swedish):
var professionSchema = new Schema({
en: 'String',
sv: 'String'
});
第一个更通用,但我发现很难在其上运行简单的查询(填充等)。使用第二个查询运行查询更容易。这里有正确或错误的方式吗?