Node.js 无法读取属性'_id';空值(发出post请求时)
在C:\Users\Deepak\Desktop\mern ecommerce\mern back end\src\controller\cart.js:75:44 我在发出post请求时在控制器中遇到此错误 这是我的密码: 控制器(Cart.js) 路线(Cart.js) 模型(Cart.js)Node.js 无法读取属性'_id';空值(发出post请求时),node.js,mongodb,express,Node.js,Mongodb,Express,在C:\Users\Deepak\Desktop\mern ecommerce\mern back end\src\controller\cart.js:75:44 我在发出post请求时在控制器中遇到此错误 这是我的密码: 控制器(Cart.js) 路线(Cart.js) 模型(Cart.js) 在添加item.product.\u id之前,请检查它是否存在。@Grumpy已经检查过它仍然存在null@deepakrandhawa,您是否可以尝试检查这两个位置并记录它们,从给出的错误来看,“
在添加item.product.\u id之前,请检查它是否存在。@Grumpy已经检查过它仍然存在null@deepakrandhawa,您是否可以尝试检查这两个位置并记录它们,从给出的错误来看,“req.user”或“item.product”似乎为空
exports.getCartItems = (req, res) => {
Cart.findOne({ user: req.user._id })
.populate("cartItems.product", " _id name price productPictures")
.exec((error, cart) => {
if (error) return res.status(400).json({ error });
if (cart) {
let cartItems = {};
cart.cartItems.forEach((item, index) => {
cartItems[item.product._id.toString()] = {
_id: item.product._id.toString(),
name: item.product.name,
img: item.product.productPictures[0].img,
price: item.product.price,
qty: item.quantity,
};
});
res.status(200).json({ cartItems });
}
});
};
router.post('/user/getCartItems', requireSignin, userMiddleware, getCartItems);
const mongoose = require('mongoose');
const cartSchema = new mongoose.Schema({
user: { type: mongoose.Schema.Types.ObjectId, ref: 'User', required: true },
cartItems: [
{
product: { type: mongoose.Schema.Types.ObjectId, ref: 'Products', required: true },
quantity: { type: Number, default: 1 }
}
]
}, {timestamps: true});
module.exports = mongoose.model('Cart', cartSchema);