Mongodb TypeError:无法读取属性';推动';未定义的,实际被推送的项
我得到错误:TypeError:无法读取未定义的属性“push”,但所有信息都被正确地推送到数据库。那么它为什么会抛出这个错误呢Mongodb TypeError:无法读取属性';推动';未定义的,实际被推送的项,mongodb,mongoose,undefined,Mongodb,Mongoose,Undefined,我得到错误:TypeError:无法读取未定义的属性“push”,但所有信息都被正确地推送到数据库。那么它为什么会抛出这个错误呢 router.post("/item/:id", middleware.isLoggedIn, (req, res) => { Item.findById(req.params.id, (err, item) => { if(err) { console.log(err); } var soldItem = {
router.post("/item/:id", middleware.isLoggedIn, (req, res) => {
Item.findById(req.params.id, (err, item) => {
if(err) {
console.log(err);
}
var soldItem = {
id: item._id,
item: item.name,
askPrice: item.price
};
var soldPrice = req.body.soldPrice;
var soldQuantity = req.body.soldQuantity;
var itemSold = { soldItem: soldItem, soldPrice: soldPrice, soldQuantity: soldQuantity };
SoldItem.create(itemSold, (err, sold) => {
if (err) {
console.log(err);
} else {
item.solditems.push(sold);
item.save();
req.flash("success", "Item Sold");
res.redirect("/");
}
});
});
});
您在
项上的solditems
是未定义的
,您正在对其调用push
改变
item.solditems.push(已售出)代码>
到
我们可以看一下您的SoldItem
mongoose模式吗?您的solditems
肯定不包含array
检查您的物品集合您不能在那里有solditems。
item.solditems = item.solditems || []; // if solditems undefined set to empty array
item.solditems.push(sold);