从mongodb获取信息的问题
好的,这就是我要做的,我有一个项目集合,它包含一个用户项目以及价格、数量和描述。我还创建了一个名为soldItems的集合,一旦用户输入所需数据并提交表单,该集合将存储有关已售出商品的信息。我不确定我一开始是否做得对,我一直在努力研究,但我不知道我到底在寻找什么 这是我到目前为止的代码从mongodb获取信息的问题,mongodb,mongoose,Mongodb,Mongoose,好的,这就是我要做的,我有一个项目集合,它包含一个用户项目以及价格、数量和描述。我还创建了一个名为soldItems的集合,一旦用户输入所需数据并提交表单,该集合将存储有关已售出商品的信息。我不确定我一开始是否做得对,我一直在努力研究,但我不知道我到底在寻找什么 这是我到目前为止的代码 router.post("/item/:id", middleware.isLoggedIn, (req, res) => { Item.findById(req.params.id, (err, it
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");
}
});
});
});
所以。。。findById(req.params.id)之所以有效,是因为我正在从url中提取ObjectId。但是,我如何才能使用req.item.\u id。因为我遇到的问题是当我试图获取req.item.name和req.item.price时,我被告知它无法读取未定义的属性“name”或“price”。我怎样才能得到那个信息 你指的是这里的
item
item.findById(req.params.id,(err,item)?那么这只是item
,而不是req.item
。所以item.name
等等。我认为你完全没有区分“请求对象”和“集合中的对象”您刚刚用标记语句检索到了它。您是对的,我是…所以我让它工作了,现在我得到一个错误,上面写着:TypeError:无法读取未定义的属性“push”…所以现在要解决这个问题。@Darrell您能发布您的SoldItem架构定义吗?