2017-03-12 29 views
1

我試圖將用戶保存到使用post請求的mongodb數據庫如下,但我得到了錯誤TypeError: User is not a function.這是一個非常簡單的代碼設置,但我找不出任何錯誤用它。TypeError:用戶不是構造函數

我使用:
貓鼬4.8.6
表達4.15.2
節點6.6

// models/user.js 
var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var UserSchema = new Schema({ 
    email: { 
     type: String, 
     unique: true, 
     lowercase: true 
    }, 
    password: String 
}); 

// server.js 
var User = require('./models/user'); 

app.post('/create-user', function(req, res, next) { 
    var user = new User(); // TypeError: User is not a constructor 
    user.email = req.body.email; 
    user.password = req.body.password; 

    user.save(function(err) { 
     if (err) return next(err); 
     res.json('Successfully register a new user'); 
    }); 
}); 

enter image description here

+0

如果您共享用戶模塊會更好,因爲問題與此相關。 –

回答

3

您需要從UserSchema創建model,然後導出,然後您可以創建新的用戶對象。

// models/user.js 
var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var UserSchema = new Schema({ 
    email: { 
     type: String, 
     unique: true, 
     lowercase: true 
    }, 
    password: String 
}); 

module.exports = mongoose.model('User', UserSchema) 
相關問題