Ahm*_*lem 1 mongodb node.js mlab angularjs
我有一个简单的客户端,将数据发送到服务器,服务器将数据保存到 mongoDB 中。
当我将数据发送到发布请求时,我在正文中找到了数据,但在保存此数据的过程中,我收到内部服务器错误。
注意:我使用 mongoLab 托管我的 mongoDB
这是我在服务器控制台上得到的。
App listeining on 3000
{ email: 'm.email@gmail.com', password: '123456' }
TypeError: object is not a function
index.js:25:16
Run Code Online (Sandbox Code Playgroud)
这是我的服务器的代码:
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:mypassword@ds049211.mongolab.com:49211/mydatabasename');
var server = app.listen(3000, function(){
console.log('App listeining on', server.address().port);
})
Run Code Online (Sandbox Code Playgroud)
这是我在客户端控制台上得到的内容:
POST http://localhost:3000/register 500 (Internal Server Error)
Run Code Online (Sandbox Code Playgroud)
这是我的控制器将 post 请求发送到我的服务器的代码:
.controller('SignUpCtrl', function($scope, $http, $state) {
$scope.signUp = function() {
var url = 'http://localhost:3000/register';
var user = {
// email: $scope.email,
// password: $scope.password
email: 'm.email@gmail.com',
password: '123456'
};
$http.post(url, user)
.success(function(res){
console.log('You are now Registered');
})
.error(function(err){
console.log('Could not register');
});
};
})
Run Code Online (Sandbox Code Playgroud)
尝试
var newUser = new User({
email: user.email,
password: user.password
})
Run Code Online (Sandbox Code Playgroud)
代替
var newUser = new({
email: user.email,
password: user.password
})
Run Code Online (Sandbox Code Playgroud)
并确保用户有一个模式集,例如
var UserSchema = new Schema({
email : String,
password: String,
});
module.exports = mongoose.model('User',UserSchema);
Run Code Online (Sandbox Code Playgroud)
我假设这是在不同的文件中,并导入用户架构
var User = require(location of file);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12596 次 |
| 最近记录: |