Здравсвуйте! Я делаю магазин, у него есть категории и продукты их я храню в mysql со связями many to many.
К продуктам можно добавлять не ограниченое количесто опций и вариатов к опциям, к примеру:
Опция: Размер; Варианты: m, l, s;
Опция: Цвет; Варианты: сниний, зеленый;
Храню опции в mongodb, чтобы не создаваь еще 3-4 таблицы и потом не делать большие джоины чтобы собрать опции, варианты и продукты в mysql, в mongo опции выглядят так:
import mongoose, { Schema } from 'mongoose'
const ProductOptionSchema = new Schema({
productId: {
type: Number,
required: true,
},
name: {
type: String,
required: true,
},
options: {
type: [
{
name: {
type: String,
required: true,
},
value: {
type: String,
required: true,
},
},
],
required: true,
},
})
export default mongoose.model('productOption', ProductOptionSchema)
Вопросы:
1) Чтобы собрать данные я сначала получаю продукты из mysql, потом по id проуктам получаю опции и маплю их к продуктам, является ли это решени правильным или лучше перенести данные в mysql ?
2) Так же чтобы не создавать много таблиц думал сделать подобную логику для заказов, тк в mongo структура данных документ всю информацию можно занести в него не создавая много таблиц и связей как в mysql ?
3) Какие данные, информацию вы храните в mongo ?