2016-06-24 5 views
0

ich auf einfache Registrierungsseite arbeite mit Express- und MongoDB dies ist mein htmlDatenbank schafft nicht ausdrücklich mit und node.js

<body> 
 
    
 
    <form> 
 
    <div align="center" ng-controller="regiCtrl"> 
 
     <table> 
 
      <tr> 
 
      <td>User Name :</td> 
 
     
 
      <td><input type="text" ng-model="user.userName" /> 
 
      </td></tr> 
 
     &nbsp; &nbsp; 
 
      <tr> 
 
      <td>Password :</td> 
 
     
 
      <td><input type="password" ng-model="user.password" /> 
 
      </td></tr> 
 
      &nbsp; &nbsp; 
 
      <tr> 
 
      
 
    
 
      <tr><td> 
 
      
 
       <input type="button" value = "Submit" ng-click="regi()"></td> 
 
      <td> 
 
      </td></tr> 
 
     </table> 
 
     
 
    </div> 
 
    
 
</form> 
 
</body>

und dies ist mein Controller

lyfee.controller('regiCtrl',['$scope','$http', function($scope,$http) { 
 
    $scope.user = {}; 
 
    $scope.regi = function() { 
 
     // var data = {User: $scope.user } 
 
     console.log($scope.user); 
 
     
 
     $http.post('/regi',$scope.user); 
 
     console.log("post request send"); 
 
     
 
    } 
 
}]);
haben ein Aussehen meiner server.js

var express = require('express'); 
 
var app = express(); 
 

 
var port = process.env.PORT || 80; 
 

 
var cookieParser = require('cookie-parser'); 
 
var session = require('express-session'); 
 
var bodyParser = require('body-parser'); 
 
var jwt = require('jsonwebtoken'); 
 

 
//Used for open index.html by default(open html page which one will be in public folder) 
 
app.use(express.static(__dirname + "/public")); 
 

 
// configure app to use bodyParser() 
 
// this will let us get the data from a POST 
 
app.use(bodyParser.urlencoded({ extended: true })); 
 
app.use(bodyParser.json()); 
 

 

 
app.use(cookieParser()); 
 
app.use(session({secret: 'anystringoftext', 
 
     saveUninitialized: true, 
 
     resave: true})); 
 

 

 
app.use('/', function(req, res){ 
 
    //res.send('Our First Express program!'); 
 
    //res.redirect('index.html'); 
 
    //console.log(req.cookies); 
 
// console.log(req.session); 
 
console.log("HELLO WE ARE IN SERVER"); 
 
}); 
 

 
var mongoose = require('mongoose'); 
 
mongoose.connect('mongodb://localhost/lyfee_module'); 
 
console.log("Connection created"); 
 
var Userschema = require('./models/dbSchema'); 
 

 

 
app.post('/regi',function(req,res){ 
 
    console.log("post request get"); 
 
    /* 
 
    var schema  = new Userschema(); 
 
    schema.Firstname = req.body.Firstname; 
 
    schema.Lastname = req.body.Lastname; 
 
    schema.City  = req.body.city; 
 
    schema.Email  = req.body.email; 
 
    schema.Userid  = req.body.userid; 
 
    schema.Password = req.body.password; 
 
     
 
    console.log(schema.Firstname); 
 
    // console.log(schema.Lastname); 
 
    
 
    */ 
 
    console.log(req); 
 
     
 
    var schema = new Userschema({ 
 
    userName : req.body.userName, 
 
    password : req.body.password, 
 
    
 
}); 
 
     
 
    console.log(req.body); 
 
    console.log(schema); 
 
    schema.save(function(err) { 
 
      if (err) 
 
       res.send(err); 
 

 
      res.json({ message: 'Record Inserted', userName: req.body.userName, password: req.body.password}); 
 
     }); 
 
     
 
}); 
 
     
 
app.listen(port); 
 
console.log('Server running on port: ' + port);

es ist mein config.js

module.export = { 
 
    'secret' : 'lyfee', 
 
    'database': 'mongodb://localhost/lyfee_module' 
 
};

und schließlich ist meine db

var mongoose = require('mongoose'); 
 

 

 
var User = new mongoose.Schema({ 
 
    userName: String, 
 
    password: String, 
 
    
 
    
 
}); 
 
//console.log(User); 
 
module.exports = mongoose.model('user', User);

meine Einträge speichern nicht in der Datenbank selbst Datenbank mit lyfee_module nicht bitte helfen Sie mir schafft, wie man sich dieses Problem lösen kann?

+0

Irgendein Fehler im Terminal? Irgendwelche Fehler an den Browser senden? Läuft mongoDB? Läuft der Server? Erreicht die Anfrage den Server? –

+0

@NidhinDavid kein Fehler wird im Terminal angezeigt, und der Browser sendet keinen Fehler, mongodb und Server laufen beide. Die Anfrage erreicht den Server, erreicht aber nicht in app.post ('/ regi', Funktion (req, res) {}). –

Antwort

0

ich denke, alles schaut fein fügen Sie einfach Hafen von mongodb wie mongodb in config.js ausgeführt wird: // localhost: 27017/

+0

Fügen Sie auch Ihren Tabellennamen hinzu und überprüfen Sie, ob die mongo-Instanz läuft 'mongodb: // localhost: 27017/lyfee_module' – Daniyalgeek

+1

Sie wissen, dass Sie Ihre Antwort bearbeiten können? – jonrsharpe

+0

@Daniyal Ahmed wird standardmäßig nach Port 27017 suchen. – Subburaj

0

Haben Sie versucht, mit mongoose.connect() einen Rückruf verwenden? Ich würde empfehlen, das folgende zu versuchen und zu sehen, wenn Sie irgendwelche Fehler erhalten:

mongoose.connect(mongoUrl, err => { 
    console.log(err || `MongoDB connected at ${mongoUrl}`); 
}) 
Verwandte Themen