试图将项目添加到购物车节点 js

trying to add a item into a cart node js

您好,我在尝试使用函数 "add" 时似乎遇到了一个我不明白的问题。 我控制台日志 "product" 以查看它是否存在,它确实存在, 但是当我尝试使用 "add" 函数时,它只是告诉我产品已定义。

错误:

我的购物车获取路线:

router.get('/cartAdd/:_id',(req,res)=>{
var productId = req.params._id;
console.log(productId)
var cart = new Cart(req.session.cart ? req.session.cart : {items:{}})
itemModel.findById(productId, function(err,product){
console.log(product)
console.log(product._id)
if(err){
    return res.redirect('/')
}
cart.add(product, prodcut._id)
req.session.cart = cart;
console.log(req.session.cart)
res.redirect('/')
})
})

我的添加功能,在购物车模型中:

module.exports = function Cart(oldCart){
this.items=oldCart.items;
this.totalQty=oldCart.totalQty
this.totalPrice=oldCart.totalPrice;

this.add = function(item, id){
console.log(item)
console.log(id)

var storedItem = this.items[id]
console.log(storedItem)

if(!storedItem){
storedItem = this.item[id]= {item: item, qty:0, price:0};
}
storedItem.qty++;
storedItem.price =storedItem.item.price*storedItem.qty;
this.totalQty++
this.totalPrice += storedItem.item.price;}

this.generateArry = function(){
var arr= [];
for(var id in this.items){
arr.push(this.items[id]);
}
return arr;
}
}

你打错了:

cart.add(product, prodcut._id)需要改为cart.add(product, product._id)