【发布时间】:2015-05-20 13:07:44
【问题描述】:
在这种情况下,我需要分配多个多对一关系,如下所示:
var portfolioSchema = new Schema({
volatility : Number,
bonds : {
percentage : { type: Number, default: 0.6 },
USA : {
percentage : { type: Number, default: 0.7 },
treasury : {
percentage : { type: Number, default: 0.4 },
securities : [ { type: ObjectId, ref: 'Security' } ]
},
municipal : {
percentage : { type: Number, default: 0.2 },
securities : [ { type: ObjectId, ref: 'Security' } ]
},
corporate : {
percentage : { type: Number, default: 0.4 },
securities : [ { type: ObjectId, ref: 'Security' } ]
}
},
international : {
percentage : { type: Number, default: 0.3 },
developed : {
percentage : { type: Number, default: 0.7 },
securities : [ { type: ObjectId, ref: 'Security' } ]
},
emergent : {
percentage : { type: Number, default: 0.3 },
securities : [ { type: ObjectId, ref: 'Security' } ]
}
}
},
stocks : {
percentage : { type: Number, default: 0.4 },
USA : {
percentage : { type: Number, default: 0.7 },
largeCaps : {
percentage : { type: Number, default: 0.4 },
securities : [ { type: ObjectId, ref: 'Security' } ]
},
mediumCaps : {
percentage : { type: Number, default: 0.4 },
securities : [ { type: ObjectId, ref: 'Security' } ]
},
smallCaps : {
percentage : { type: Number, default: 0.2 },
securities : [ { type: ObjectId, ref: 'Security' } ]
}
},
international : {
percentage : { type: Number, default: 0.3 },
developed : {
percentage : { type: Number, default: 0.7 },
securities : [ { type: ObjectId, ref: 'Security' } ]
},
emergent : {
percentage : { type: Number, default: 0.3 },
securities : [ { type: ObjectId, ref: 'Security' } ]
}
}
},
_goal : { type: ObjectId, ref: 'Goal' }
});
var securitySchema = new Schema({
name : { type: Date, required: true },
avgReturn : Number,
avgRisk : Number,
percentage : Number
});
但是,在我看来,简单地使用 Array 数据类型而不是 [ { type: ObjectId, ref: 'Security' } ] 会更容易。
我不确定我应该做什么。任何人都会知道执行此操作的适当方法吗?谢谢!
【问题讨论】:
-
Array数据类型是什么?为什么你认为它与[]数据类型不同? -
我认为没有什么不同。我的疑问是我应该只使用
Array还是[ { type: ObjectId, ref: 'Security' } ]。
标签: mongoose