서버에 데이터를 게시하는 간단한 클라이언트가 있고 서버는 데이터를 mongoDB에 저장합니다.
요청 후 데이터를 보낼 때 본문에서 데이터를 찾았지만이 데이터를 저장하는 과정에서 내부 서버 오류가 발생합니다.
참고 : 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');
});
};
})
시험
var newUser = new User({
email: user.email,
password: user.password
})
대신에
var newUser = new({
email: user.email,
password: user.password
})
사용자에게 다음과 같은 스키마 세트가 있는지 확인하십시오.
var UserSchema = new Schema({
email : String,
password: String,
});
module.exports = mongoose.model('User',UserSchema);
나는 이것이 다른 파일에 있다고 가정하고 사용자 스키마를 가져옵니다.
var User = require(location of file);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다