2016-11-07 84 views
0

我是新来的猫鼬以及nosql。我正在设计一个包含人员列表的数据库,每个人都可以拥有多种技能 - 比如C,Java,Python。此外,该人自特定时间以来一直使用特定技能 - 例如,自2010年起。猫鼬数据库建模

我创建了一个personSchema和一个skillSchema。我无法想象如何添加“Since”,因为既然是特定于某个人的,但也是针对特定技能的。

我真的需要技能是一个单独的架构,因为技能列表将在其他地方使用。

let personSchema = new mongoose.Schema({ 
    id: { type: String, required: true, unique: true, index: true, dropDups: true}, 
    firstname: String, 
    lastname: String, 
    age: Number 
    mobile: [Number], 
    skills: [{type: Schema.Types.ObjectId, ref: 'Skill'}] 
}); 

let skillSchema = new mongoose.Schema({ 
    skillName: String 
}); 

现在在哪里存储“since”? E.g汤姆正在C++自2010年 - 2010年是与汤姆和C++

+0

也许我应该在personSchema的“技能”中加上“since”。添加它的语法是什么? – runios

回答

1
skills : [ 
     { 
      skill : {type: Schema.Types.ObjectId, ref: 'Skill'} 
      since : Number 
     }] 

添加“自”这样会更有意义,因为每个技能的引用才有以来的价值与它。

希望它有帮助。

+0

感谢哥们,它奇妙地工作! – runios