Мне нужно создать структуру данных в GraphQL (MongoDB в качестве базы данных), которая представляет следующую схему:
- A Билл может иметь несколько статей
- Одна статья имеет номер группы статей и многочисленные атрибуты, которые на 100% зависят от номера группы статей и могут сильно различатьсямежду этими группами.
Так что одна статья может выглядеть так:
{
article-group-number: 100,
length: 5.5
}
Другая статья может выглядеть так:
{
article-group-number: 101,
width: 2
}
Может быть дажестатьи, которые имеют ссылку на другую статью (но не имеют круговой структуры).
Мне нужно иметь возможность создавать и поддерживать различные правила (функции) проверки для каждого номера статьи.Как мне это сделать?
Я думал о union типов в GraphQL, но их можно только читать, а не записывать ("мутацией") на данный моментво время.Должен ли я сохранить эти статьи в виде чистых JSON-данных и выполнить всю проверку вручную?Таким образом, я потерял бы логическую структуру, так как это поле данных JSON было бы просто неким «грязным блобом данных» в моих глазах, потому что вся логика теряется при прохождении через GraphQL.
Нет тамболее чистый способ?