Мангуста Схема | Много ко многим ассоциациям - PullRequest
0 голосов
/ 15 мая 2019

У меня есть этот сценарий

В моей БД у меня есть:

  • X зон
  • Y> X культур

Это означает, что 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'
    }]
});

Это хорошая идея?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...