INNER CODE UNIT · JavaScript
itemIndex
maryamaljanabi/bestbags-nodejs-ecommerce · routes/index.js:135
let itemIndex = cart.items.findIndex((p) => p.productId == productId);
if (itemIndex > -1) {
// find the product to find its price
const product = await Product.findById(productId);
// if product is found, reduce its qty
cart.items[itemIndex].qty--;
cart.items[itemIndex].price -= product.price;
cart.totalQty--;
cart.totalCost -= product.price;
// if the item's qty reaches 0, remove it from the cart
if (cart.items[itemIndex].qty <= 0) {
await cart.items.remove({ _id: cart.items[itemIndex]._id });
}
req.session.cart = cart;
//save the cart it only if user is logged in
if (req.user) {
await cart.save();
}