У меня есть этот сценарий
В моей БД у меня есть:
Это означает, что 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'
}]
});
Это хорошая идея?