放置请求返回原始数据

时间:2018-11-05 00:02:22

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

嗨,我真的是Java语言后端的新手。我会在这里有所帮助。我有以下型号

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 /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)
        })
      })
    })

我在React前端调用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);
    })
}

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

1 个答案:

答案 0 :(得分:0)

plugins {
    id "com.gorylenko.gradle-git-properties" version "1.4.17"
}

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