Node.js 正在尝试向数据库(MongoDB)添加新用户,但收到此错误

Node.js 正在尝试向数据库(MongoDB)添加新用户,但收到此错误,node.js,mongodb,Node.js,Mongodb,我试图使用post请求将一个用户保存到MongoDB数据库,如下所示,但我得到了错误TypeError:user不是一个函数。我想不出有什么毛病。输出表示错误出现在“const user=new user(req.body);”行上 是我的userschema错误还是导出方法错误 const User = require("../models/user"); exports.signup = (req, res) => { const user = new User(req.bod

我试图使用post请求将一个用户保存到MongoDB数据库,如下所示,但我得到了错误TypeError:user不是一个函数。我想不出有什么毛病。输出表示错误出现在“const user=new user(req.body);”行上

是我的userschema错误还是导出方法错误

const User = require("../models/user");

exports.signup = (req, res) => {
  const user = new User(req.body);
  user.save((err, user) => {
    if (err) {
      return res.status(400).json({
        err: "NOT able to save user in DB"
      });
    }
    res.json({
      name: user.name,
      email: user.email,
      id: user._id
    });
  });
};

exports.signout = (req, res) => {
  res.json({
    message: "User signout"
  });
};


//user schema
var mongoose = require("mongoose");
const crypto = require('crypto');
const uuidv1 = require('uuid/v1');


var userSchema = new mongoose.Schema({
    name:{
        type:String,
        required:true,
        maxlenght:32,
        trim: true
    },
    lastname:{
        type: String,
        maxlenght:32,
        trim: true
    },
    email:{
        type: String,
        trim: true,
        required: true,
        unique:true
    },
    userinfo:{
        type:String,
        trim:true
    },
    encry_password:{
        type:String,
        required: true,
    },
    salt:String,
    role:{
        type:Number,
        default:0,
    },
    purchases :{
        type:Array,
        default:[]
    }

} ,{ timestamps: true } );

userSchema.virtual("password")
    .set(function(password){
        this._password = password;
        this.salt = uuidv1();
        this.encry_password = this.securePassword(password);
    })
    .get(function(){
        return this._password;
    })

userSchema.methods = {
        authenticate: function(plainpassword){
            return this.securePassword(plainpassword) === this.encry_password;
    },

    securePassword: function (plainpassword){
        if(!plainpassword) return "";
        try {
            return crypto.createHmac('sha256',this.salt)
            .update(plainpassword)
            .digest('hex');
        } catch (err) {
            return "";
        }
    }
};




module.export = mongoose.model("User",userSchema)

下面是代码的问题

第1行:
const user=新用户(请求正文)

第2行:
user.save((err,user)=>{

JS现在对
user
感到困惑,后者是一个常量变量,而
user
是save操作的返回值

因此,为了消除这种情况,请将save action的返回值重命名为类似于
responseUserObj
的其他值

const user = new User(req.body);
        user.save((err, responseUserObj) => {


快乐编码。

这里是代码的问题

第1行:
const user=新用户(请求正文);

第2行:
user.save((err,user)=>{

JS现在对
user
感到困惑,后者是一个常量变量,而
user
是save操作的返回值

因此,为了消除这种情况,请将save action的返回值重命名为类似于
responseUserObj
的其他值

const user = new User(req.body);
        user.save((err, responseUserObj) => {

快乐编码