Хорошо, вот что я пытаюсь сделать, у меня есть коллекция Предметов, в которой хранятся товары пользователя, количество и описание цены. Я также создал коллекцию 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) работает, потому что я извлекаю ObjectId из URL. Тем не менее, как бы я мог использовать req.item._id. Поскольку проблема, с которой я сталкиваюсь, заключается в том, что когда я пытаюсь получить req.item.name и req.item.price, мне говорят, что он не может прочитать свойство 'name' или 'price' undefined. Как я могу получить эту информацию?