2016-03-07 76 views
2

这是我第一次尝试这个,它非常简单,我只想找到所有带有提供参数的文档(方框:“方框1”),然后找到所有提供的文档财产(用品:“清洁”)。然后从框中更新所有这些文件:“框1”到框:“框2”。结果是所有的清洁用品现在都被移动到方框2.因此,文档将从{方框:“方框1”,用品:“清洁”}到{方框:“方框2”,用品:“清洁”}findOneAndUpdate Mongoose w/PUT REST API

错误

"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); 
     }); 
}) 

回答

2

你错过了前面的 '/' 的实际路线

此行的API之前

app.put('updatebox/:box/:supplies', function (req, res) {

真的应该

app.put('/updatebox/:box/:supplies', function (req, res) {

+0

我啊应该更好地了解,我一直这样做!谢谢! – muninn9

+0

@ muninn9 np,如果这是答案,请将其标记为这样,以便未来访问者能够知道这个问题实际上已经解决了您的问题 – peteb

+0

没问题,我必须等4分钟才能接受答案:) – muninn9