【问题标题】:Put request returns original dataPut请求返回原始数据
【发布时间】:2018-11-05 00:02:21
【问题描述】:

您好,我对 Javascript 后端非常陌生。我会很感激这里的一些帮助。我有以下型号

const mongoose = require('mongoose');
*const Schema = mongoose.Schema;

// Create to store user favs
const FavsSchema = new Schema({
  userName: {
    type: Schema.Types.ObjectId,
    ref: 'users',
  },
  programId : { type : Array, default: [] }
});

module.exports = UserFavs = `mongoose.model('favorites', FavsSchema);*`

我正在尝试使用以下代码发出 put 请求

/* PUT /userName/:id */
  router.put('/postData/:user_id', function (req, res, next) {
      UserFavs.findByIdAndUpdate(req.params.user_id, req.body, {new: true}).then(function(){
        console.log('is it valid')
        console.log(mongoose.Types.ObjectId.isValid(req.params.user_id))
          UserFavs.findOne({userName: req.params.user_id}).then(function(userfav){
            console.log(userfav)
          res.send(userfav)
        })
      })
    })

我在反应前端调用 API,用户从数据网格中选择数据并按下按钮来保存他们喜欢的程序

buttonTest2(dataArray2, userId) {
    axios.put('/api/favorites/postData/userId', this.dataArray2)
    .then(response => {
      console.log('put response', response.data)
    })
    .catch(function (error) {
      console.log('error is ', error);
    })
}

我只是在取回原始数据。我不明白为什么会这样。一些帮助将不胜感激

【问题讨论】:

    标签: node.js mongoose mongoose-schema restful-url


    【解决方案1】:
    /* PUT /updateData/:id */
        router.put('/updateData/:user_id', 
          passport.authenticate('jwt', { session: false }),
          function (req, res) {
            let id = req.params.user_id;
            let update = req.body;
            UserFavs.findByIdAndUpdate(id, {programId: update}, {new: true}, function(err, userfav) {
              if(err) {
                res.send(err);
              } else {
                res.json(userfav);
              }
          });
        });
    

    需要阅读文档。您必须将 req.body 绑定到 programId 的模型属性

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 2014-06-05
      • 2019-04-14
      • 2020-11-23
      • 1970-01-01
      • 2010-11-06
      • 2019-07-28
      相关资源
      最近更新 更多