0
我有一個簡單的客戶端將數據發佈到服務器,並且服務器將數據保存到mongoDB中。將數據保存到mongoDB時發生500內部服務器錯誤
當我發送數據到post請求我發現身體的數據,但在保存此數據的過程中,我得到內部服務器錯誤。
注:我使用mongoLab主辦我的MongoDB
這就是我得到我的服務器控制檯上。
App listeining on 3000
{ email: '[email protected]', password: '123456' }
TypeError: object is not a function
index.js:25:16
這裏是我的服務器代碼:
var express = require('express');
var bodyParser = require('body-Parser');
var mongoose = require('mongoose');
var app = express();
app.use(bodyParser.json());
// set up CORS resource sharing
app.use(function(req, res, next){
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
})
//the User Model.
var User = mongoose.model('User',{
email: String,
password: String
})
app.post('/register', function(req, res){
var user = req.body;
console.log(user);
var newUser = new({
email: user.email,
password: user.password
})
newUser.save(function(err){
res.status(200).json(newUser);
})
})
//connect to MongoDB
mongoose.connect('mongodb://myusername:[email protected]:49211/mydatabasename');
var server = app.listen(3000, function(){
console.log('App listeining on', server.address().port);
})
這裏是我讓我的客戶端控制檯上:
POST http://localhost:3000/register 500 (Internal Server Error)
這裏是發送我的控制器的代碼發送請求到我的服務器:
.controller('SignUpCtrl', function($scope, $http, $state) {
$scope.signUp = function() {
var url = 'http://localhost:3000/register';
var user = {
// email: $scope.email,
// password: $scope.password
email: '[email protected]',
password: '123456'
};
$http.post(url, user)
.success(function(res){
console.log('You are now Registered');
})
.error(function(err){
console.log('Could not register');
});
};
})
你的用戶模型是否有Mongoose模式? – chridam 2015-03-03 13:40:59
我直接編碼模式,如果你注意到我可以創建計劃變量,但是,它是一樣的 – 2015-03-03 14:18:16
你在哪裏實例化'User'模型? @blackmind提出了一個解決問題的方法,我認爲你應該嘗試 – chridam 2015-03-03 14:20:40