Я работаю над небольшим приложением, в которое вы можете добавлять товары в корзину пользователей.
У меня есть маршрут для добавления указанного товара в корзину, и он работает нормально.Однако, когда я добавляю его, все, что отображается в массиве, - это _id продукта, а то, что я ищу, - это объект, содержащий некоторую информацию (например, имя продукта, цена продукта и т. Д.).Чтобы я мог получить к нему доступ позже в моем приложении React-Redux.Я нашел несколько предложений в Интернете, но они, кажется, вообще не работают для меня или дают мне то же самое, что и я.
Вот маршрут:
Cart.findOne({ user: req.user.id })
.then(cart => {
Product.findById(req.params.product_id).then(product => {
const newItem = {}
newItem._id = product._id;
newItem.name = product.name;
newItem.price = product.price;
const total =
parseFloat(cart.total) + parseFloat(product.price);
cart.total = Math.round(total*100)/100;
cart.items.push(newItem);
cart.save().then(cart=> res.json(cart));
});
})
.catch(err => res.status(404).json(err));
})
.catch(err => res.status(404).json(err));
Вот соответствующая схема:
const CartSchema = new Schema({
user: {
type: Schema.Types.ObjectId,
ref: "users"
},
total: {
type: String,
default: 0
},
items: [
{
product: {
type: Schema.Types.ObjectId,
ref: "product"
}
}
]
});
Любая помощь будет принята с благодарностью.Спасибо