我有这种情况
在我的数据库中,我有:
这意味着1个区域可以包含1个以上的作物。
此外,多个区域可能存在超过1种作物
所以我面对着很多对很多的关系
我的问题是这样的: 我必须保留有关每种农作物克的信息。
我的想法是这样的:
区域架构:
var ZoneSchema = new mongoose.Schema({
name: String,
crops: [{
type: Schema.Types.ObjectId,
ref: 'crop'
}]
});
裁剪模式:
var CropSchema = new mongoose.Schema({
name: String,
zones: [{
type: Schema.Types.ObjectId,
ref: 'zone'
}],
grams: Number
});
但是以这种方式,如果该区域包含1个以上的作物,我将无法获得1个区域中1种作物的克数。
我想创建一个这样的额外模型:
ZoneCropsInfo
var ZoneCropsInfoSchema = new mongoose.Schema({
zone:{
type: Schema.Types.ObjectId,
ref: 'zone'
},
grams: Number
});
并将“裁剪模式”更改为此:
裁剪模式:
var CropSchema = new mongoose.Schema({
name: String,
zonecropsinfo: [{
type: Schema.Types.ObjectId,
ref: 'zonecropsinfo'
}]
});
这是个好主意吗?