这是我第一次尝试,非常简单,我只想查找具有提供的参数(框:“Box 1”)的所有文档,并找到具有提供的属性的所有文档(供应:“清洁”) )。然后将所有这些文档从“Box 1”框更新为“Box 2”框。结果是所有清洁用品现在都移至 Box 2。因此文档将从 {box: "Box 1", Supplies: "Cleaning"} 转到 {box: "Box 2", Supplies: "Cleaning"}
错误
"Cannot PUT /updatebox/Box%201/Cleaning" //in Postman
"404 Not Found" //in Postman log
架构和模型
var boxSchema = new mongoose.Schema({
box: String,
supplies: String
});
var boxModel = mongoose.model('boxModel', boxSchema, 'boxList');
API
app.put('updatebox/:box/:supplies', function (req, res) {
var boxReq = req.params.box;
var suppliesReq = req.params.supplies;
boxModel
.find({box: boxReq})
.findOneAndUpdate({supplies: suppliesReq}, {
$set: {
box: "Box 2"
}
}, {new: true}, function (err, doc) {
if (err) {
console.log("Something wrong when updating data!");
}
res.json(doc);
});
})
最佳答案
您在实际路线之前缺少前面的“/”
API 中的这一行
app.put('updatebox/:box/:supplies', function (req, res) {
确实应该是
app.put('/updatebox/:box/:supplies', function (req, res) {
关于javascript - findOneAndUpdate Mongoose w/PUT REST API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852625/