javascript - TypeError : User. 保存不是一个函数

标签 javascript node.js

我正在尝试将用户数据发布到 mongodb,但出现错误:

TypeError: user.save is not a function

如何解决这个问题?

我正在使用 express

这是我的代码:

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

最佳答案

您必须创建一个新的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);
                 });
  });
})

关于javascript - TypeError : User. 保存不是一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44692005/

相关文章:

javascript - Gulp,将 Handlebars 模板与其他源文件合并?

javascript - 用原型(prototype)链定义函数

node.js - 我如何等待 exec 进程在 Jest 中完成?

node.js - 使用 Passport-local-mongoose 的错误请求

调用 Rest API 时 Node.js Discord 机器人消息为空

javascript - angular-ui-router 不工作

javascript - Stockcharts - 添加偏移以避免在边缘绘制点

PHP获取div位置并存储在session中

javascript - promise 不会解决

javascript - 如何在 Javascript 中将字符串 'yyyymmddThhmmssZ' 转换为字符串 'yyyymmddhhmmss'?