Node.js 猫鼬上的多个一对多关系
我使用mongoose来存储三个模型的文档,有时我必须在这三个模型之间更新引用,为此我使用, 我需要的是这样的参考:Node.js 猫鼬上的多个一对多关系,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我使用mongoose来存储三个模型的文档,有时我必须在这三个模型之间更新引用,为此我使用, 我需要的是这样的参考: 一个客户有很多时间表 一个客户有很多订单 一个订单有很多时间表 当我创建订单时,我需要将计划id推送到订单中以供参考。但每个集合只能引用一个childPath,我的模型是这样映射的 顾客: var CustomerSchema = new Schema({ name: {type: String, required: true}, email: {type:
- 一个客户有很多时间表
- 一个客户有很多订单
- 一个订单有很多时间表
var CustomerSchema = new Schema({
name: {type: String, required: true},
email: {type: String, required: true},
shedules: [{ type:mongoose.Schema.Types.ObjectId, ref:"Schedule" }],
orders: [{ type:mongoose.Schema.Types.ObjectId, ref:"Order" }]
}
附表:
var ScheduleSchema = new Schema({
customer: {type:mongoose.Schema.Types.ObjectId, ref:"Customer", childPath:"shedules"}, //shedule id
order: {type:mongoose.Schema.Types.ObjectId, ref:"Order", childPath:"shedules"}, //order Id
sequence: {type: Number, default: 0},
creation_date: {type: Date, default: Date.now}
}
SheduleSchema.plugin(relationship, {relationshipPathName:['customer','order']});
订单:
var OrderSchema = new Schema({
customer: {type:mongoose.Schema.Types.ObjectId, ref:"Customer", childPath:"order"},
shedules: [{type:mongoose.Schema.Types.ObjectId, ref:"Shedule" }],// <-- this field doesn't update.
price: {type: Number, default: 0}
}
OrderSchema.plugin(relationship, { relationshipPathName:'customer' });
var OrderSchema=新模式({
客户:{type:mongoose.Schema.Types.ObjectId,ref:“客户”,childPath:“订单”},
日程安排:[{type:mongoose.Schema.Types.ObjectId,ref:“日程安排”}]//