Всем привет! Есть такая «проблема».
Есть готовая коллекция MongoDB и в ней одна сущность: «предметы».
3 аттрибута/поля: id, название(string), содержимое(array).
Суть заключается в том, что некоторые предметы состоят из других предметов (их самих нельзя классифицировать по какому-то определенному признаку). И эти данные надо где-то и как-то хранить, например:
Есть предмет с id:1 предмет с id:2. Для того что-бы получился предмет id:3 надо взять предмет c id:1 в количестве 3, и предмет с id: 2 в количестве 4-ех.id_1-(3)->Id_4
Id_2-(4)->Id_4
Дело в том, что для решения этой проблемы отлично подходят графовые СУБД вроде neo4j, проблема только в том, что она может далеко не все то,что может Mongo/Postgres. Собственно вопрос в том, как хранить эти данные? В какой именно форме и какое решение стоит использоваться? Сменить Mongo на Postgres не проблема. На данный момент моё решение, в третьем аттрибуте <содержимое> в виде массива хранить массивы, вроде:
[[1,3],[2,4],..[id,qnty]]
Но может быть у кого-то есть лучшая идея или уже опытное решение?