首页 > 解决方案 > 从 mongodb 获取信息的问题

问题描述

好的,这就是我想要做的,我有一个项目集合,其中包含用户项目以及价格数量和描述。我还创建了一个名为 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 时,我被告知它无法读取未定义的属性“名称”或“价格”。我怎样才能得到这些信息?

标签: mongodbmongoose

解决方案


推荐阅读