快速/猫鼬路线始终会更新同一物品

时间:2018-12-28 18:03:43

标签: javascript node.js express mongoose

我有一个问题,如果我尝试更新或创建一个新项目,它只会创建一个项目,然后无论我做什么都只会更新该项目,这条路线有什么问题吗?

9

2 个答案:

答案 0 :(得分:0)

您正在将商品设置为req.param.id,如果您提供旧商品的ID,请将该商品的内容设置为旧商品

Item.findOneAndUpdate(
          { item: req.params._id },
          { $set: itemFields },
          { new: true }
        ).then(item => res.json(item));
      } else {
        // Create
        // Save Item
        new Item(itemFields).save().then(item => res.json(item));
      }

答案 1 :(得分:0)

看起来您的路线中没有任何参数。要使用req.params._id之类的参数,您的路线应定义为

router.post("/:_id",() =>{
//access req.params._id here
res.end() 
});

要传递req.params._id的值,您必须点击以下POST网址 yoursite.com/21,其中21是req.params._id

https://expressjs.com/en/api.html