Javascript 除了通过axios&;更新数据库中的第一条记录外,我无法更新其他记录;邮递员
由于一些未知的原因,我只能更新数据库中的第一条记录,即使我可以毫无问题地获得所有记录。。下面是它的外观: 更清楚的是:名称是唯一的,这就是为什么我使用它们而不是id,我在postman中更改url以更新一些记录,但我只能更新第一个记录。与前端相同,当我单击其他“PAPP”时,它会返回有效的url,但返回无效的数据 守则: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
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模式代码添加到问题中吗?当然,给我一点时间