Как разработать дизайн схемы мангуста для вложенных данных - PullRequest
0 голосов
/ 17 марта 2019

Я создаю приложение стека MERN, в котором я хочу иметь вложенные данные.Я не могу понять схему мангуста.Должны быть такие детали, как name, age, photo, вложенные в year.Ниже приведено примерное представление о том, как должна выглядеть идея.Год не должен быть жестко запрограммирован в схеме.

        2017 :{
            name: "Tony",
            age: 21,
            photo: "some url here"
          },
          {
            name: "Steve",
            age: 21,
            photo: "some url here"
          }
        2018 :{
            name: "Stark",
            age: 19,
            photo: "some url here"
          },
          {
            name: "Rogers",
            age: 21,
            photo: "some url here"
          }

1 Ответ

0 голосов
/ 17 марта 2019

вы можете разбить его на две схемы. Фотоальбомы, содержащие массив ссылок на фотообъекты. Каждый документ в схеме альбомов может представлять собой год или общее название альбома, объединяющее похожие фотографии. Схема фотографий будет хранить фактический документ фотографии с именем файла и URI.

PhotoAlbumSchema:
{
   name: String,
   year: Number,
   photos: [{ type: Schema.types.ObjectId, ref: "Photo"}] // array of photo objects
}

и

PhotoSchema
{
    filename: String,
    uri: String,
    description: String,
}

каждый документ, который вы вставляете в схему альбомов, может связывать массив ссылок на фотообъекты (ObjectIds). еще лучше, каждый альбом может содержать общие наборы фотографий для нескольких альбомов Вы заполняете данные, выполняя Albums.find ({}). populate ('Photo')

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