Можно ли получить доступ к встроенным объектам независимо в настройке MongoDB? - PullRequest
0 голосов
/ 27 января 2019

Я хочу написать приложение для карточной игры Magic the Gathering (MtG) с использованием laravel и MongoDB.Я хочу использовать данные из API scryfall и до сих пор я бы просто сериализовал эти данные в обычную базу данных MySQL.Однако данные из Scryfall очень не сериализуемы, и я бы потерял большую гибкость, поэтому я подумал, что это может быть идеальным проектом для изучения другого подхода и опробования MongoDB.

Теперь в MtG каждый Card является частью Set, поэтому я думал, что объекты Card являются вложенными объектами в каждом Set, например:

{
    name: "Set Name",
    code: "SN",
    // More paramaters for the set...
    cards: [{
        id: "123ljk123123l",
        name: "Card Name"
        // All parameters of that card
    },
    {
        id: "123123ljk12al",
        name: "Another Card Name"
        // All parameters of this card
    }]
}

таким образом, отношение Set кCard будет EmbedsMany.Однако мне все еще нужно получить доступ к карте, не зная, в каком наборе она находится, просто по ее идентификатору (который будет уникальным).Это возможно?Является ли это даже лучшим подходом для такого рода проблем?

В конечном счете, я хочу управлять коллекцией карточек пользователей, поэтому мне нужно каким-то образом иметь возможность иметь связь ManyToMany между пользователями и карточками (до сих пор я использовалсводная таблица с дополнительными полями для количества карт, которые пользователь имеет такого типа, и если они являются фольгой или нет, поэтому мне нужно добавить некоторую информацию к этому отношению, а также)

Итак, вопрос в том, чтолучший способ моделирования этого в рекламной базе данных?Является ли MongoDB правильным выбором?

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