1. есть в базе модель Order. у неё свойство Order.orderItems = [ OrderItem, OrderItem, ... ]. В OrderItem.selectedOptions строкой записан json объект. вопрос был в том, что перед тем как использовать свойство OrderItem.selectedOptions его нужно распарсить (потому что он строка). альтернативный вариант был - создать новый объект в базе, назвав его SelectedOptions, у которого будут записаны все те свойства, что сейчас хранятся строкой. решение: лучше на месте, при использовании свойства модели (selectedOptions) парсить её из строки в json, чем хранить в этом поле ссылку на другую модель, которую нужно будет populat`ить. выбрал хранить вариант хранить строкой. 2. о создании заведения нового. а) админ создает кафе, б) указывает какие категории могут использоваться в меню этого кафе, в) указывает так-же возможные названия Item`ов (например Cappuccono) для каждой категории которые могут быть в меню г) указывает какие опции могут быть у этого Item`а (Size, Sugar) д) указывает какие варианты могут быть у опций (Size: ["Large", "Small", ..] или Sugar: ["0", "1", "2"]) другими словами админ должен составить струтуру, скелет, этого кафе, по которой пользователь сможет сам добавлять новые Items. Вопрос: где всё это хранить? Варианты: 1. хранить эту структуру в свойстве модели кафе (Business), под названием structure или defaultValues. хранить придется json строкой. 2. создать модель базы Structure или BusinessBone, а в самой модели Business хранить ссылку на эту структуру чтобы долго не расписывать, покажу наглядно как должна выглядеть модель Structure. Structure = { menu: [ { categoryType: "drink", // это означает что эта струтура Item`ов из категории "drink" options: [ // устанавливает как должен выглядеть список опций { title: "Size", variantsCount: 3, // кол-во возможных вариантов variant: { // каждый вариант в этой опции должен соответсвовать структуре variantTitle: "", variantCost : "" [ единицы: $ ] } }, { title: "Sugar", variantsCount: 3, variant: { variantTitle: "", variantCost : "" } } ] } ], offers: { loalty: { maxNumberOfOrderFree: N, // какой максимальный по кол-ву заказ будет бесплатным. // н-р в этом случае "Каждый N-й заказ бесплатно" }, special: [ { cost: "", [ единицы: $] // сумма заказа discount: "" [ единицы: %] // скидка. н-р "при заказе от 15$ - скидка 5%" } ] } }