TypeError:User.save不是函数

时间:2017-06-22 06:43:42

标签: javascript node.js

我正在尝试将用户数据发布到mongodb,但我收到的错误是:

  

TypeError:user.save不是函数

如何解决这个问题?

我正在使用快递

这是我的代码:

router.post('/', function (req, res) {
  let params = {
    id: req.body.id,
    name: req.body.name
  }
  User
    .save({ params })
    .find()
    .then((data) => {
      res.render('index', { title: 'List', data: data });
    })
    .catch((err) => {
      return res.send(err);
    });
})

这是我的架构:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var User = new Schema({
    id: String,
    name: String
});

User.pre('save', function (next) {
    next();
});

module.exports = mongoose.model('User', User);

1 个答案:

答案 0 :(得分:0)

您必须创建一个新的User实例并在其上调用save

router.post('/', function (req, res) {
  let user = new User ({
    id: req.body.id,
    name: req.body.name
  })

  user.save((err) => {
                if (err) {
                    return res.send(err);
                }

                User
                 .find()
                 .then((data) => {
                     res.render('index', { title: 'List', data: data });
                 })
                 .catch((err) => {
                     return res.send(err);
                 });
  });
})