好的,这就是我要做的事情,我有一个Item集合,用于保存用户项目以及价格数量和描述。我还创建了一个名为soldItems的集合,一旦用户输入所需数据并提交表单,它将存储有关已售商品的信息。我不确定我是否正确地开始这样做,并且我一直在尝试研究这个,但我不知道我在寻找什么。
这是我到目前为止的代码
router.post("/item/:id", middleware.isLoggedIn, (req, res) => {
Item.findById(req.params.id, (err, item) => {
if(err) {
console.log(err);
}
var soldItem = {
id: req.params.id,
item: req.item.name,
askPrice: req.item.price
};
var soldPrice = req.body.soldPrice;
var soldQuantity = req.body.soldQuantity;
var itemSold = {
soldItem: soldItem,
soldPrice: soldPrice,
soldQuantity: soldQuantity
};
SoldItem.create(itemSold, (err, newlyCreated) => {
if (err) {
console.log(err);
} else {
item.soldItems.push(newlyCreated);
item.save();
req.flash("success", "Item Sold");
res.redirect("back");
}
});
});
});
所以... Item.findById(req.params.id)有效,因为我从url中提取了ObjectId。但是,我怎么能使用req.item._id。因为我遇到的问题是当我试图获取req.item.name和req.item.price时,我被告知它无法读取未定义的属性“名称”或“价格”。我怎样才能获得这些信息?