Помимо модели корзины, есть еще модель products и модель user. У меня есть два варианта организации:
1) Корзина хранит в себе только ID продуктов и будет стучаться к коллекции products
2) Корзина хранит в себе всю информацию о продуктов, также как и products(title, price, rest)
Я думаю, что первый вариант лучше, но верно ли я предполагаю? И тогда, при первом варианте, frontend сначала сделает запрос к cart и, получив ID, сделает запрос к products?
Первый вариант однозначно лучше, хотя бы потому, что иначе помимо дублирования информации, вам еще придется отслеживать изменения для всех товаров, чтобы обновлять информацию у пользователях в корзинах.
Предположим, что у вас следующие сущности:
Card:
_id: objectId
products: Array(ObjectId[product])
Product:
_id: objectId
name: string
description: string
price: number
Тогда вот запрос для получения информации из корзины, включая продукты:
db.getCollection('card').aggregate([{
$lookup:
{
from: "product",
localField: "products",
foreignField: "_id",
as: "products"
}
}]);
PS. В mongoose, к примеру, все тоже самое можно сделать через populate
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Столкнулся с такой проблемой: пытаюсь сделать отображение области кластеризации в PruneCluster, как в markerclustergroup (отвечает свойство ShowCoverageOnHover)
есть нужда в реализации общего файла excel ( здесь будет таблица учета рассылок) на сервере, к которой будут обращаться пользователи через страницу...