Javascript 除了通过axios&;更新数据库中的第一条记录外,我无法更新其他记录;邮递员

Javascript 除了通过axios&;更新数据库中的第一条记录外,我无法更新其他记录;邮递员,javascript,reactjs,express,axios,Javascript,Reactjs,Express,Axios,由于一些未知的原因,我只能更新数据库中的第一条记录,即使我可以毫无问题地获得所有记录。。下面是它的外观: 更清楚的是:名称是唯一的,这就是为什么我使用它们而不是id,我在postman中更改url以更新一些记录,但我只能更新第一个记录。与前端相同,当我单击其他“PAPP”时,它会返回有效的url,但返回无效的数据 守则: router.put("/:name", (req, res, next) => { Papp.findOneAndUpdate({ _pappName: req.p

由于一些未知的原因,我只能更新数据库中的第一条记录,即使我可以毫无问题地获得所有记录。。下面是它的外观: 更清楚的是:名称是唯一的,这就是为什么我使用它们而不是id,我在postman中更改url以更新一些记录,但我只能更新第一个记录。与前端相同,当我单击其他“PAPP”时,它会返回有效的url,但返回无效的数据

守则:

router.put("/:name", (req, res, next) => {
  Papp.findOneAndUpdate({ _pappName: req.params.pappName }, req.body, {
    new: true
  }).then(function(state) {
    res.send(state);
  });
});
架构代码:

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

const pappSchema = new Schema({
  pappName: {
    type: String,
    required: true
  },
  maintanceName: {
    type: String,
    required: true
  },
  maintanceIsOn: {
    type: Boolean,
    required: true
  },
  autosearchName: {
    type: String,
    required: true
  },
  autosearchValue: {
    type: String,
    required: true
  },
  commentName: {
    type: String,
    required: true
  },
  commentValue: {
    type: String,
    required: true
  }
});

module.exports = Papp = mongoose.model("Papp", pappSchema);

您的请求参数的名称是
name
,但您正在代码中使用
req.params.pappName
。因此,将
req.params.pappName
替换为
req.params.name
。 在筛选查询中也使用
pappName
而不是
\u pappName

router.put(“/:name”,(请求、恢复、下一步)=>{
Papp.findOneAndUpdate({pappName:req.params.name},req.body{
新:真的
}).then(功能(状态){
res.send(state);
});
});

将您的
findOneAndUpdate
函数也放进去。。粘贴代码,而不是如您所愿编辑的屏幕快照!如果我像你说的那样,它会返回空的数据字符串:/@Goteii你能把你的Papp模式代码添加到问题中吗?当然,给我一点时间