Я открываю терминал и вводю следующие команды
sudo mongod
который затем выводит
[initandlisten] waiting for connections on port 27017
Я открываю другой терминал и вводим
sudo mongo
которые открывают оболочку mongo и запрашивают команды mongo, но когда я перехожу к localhost/27017, я получаю следующее сообщение:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
Я создал простое приложение nodejs, используя экспресс, и когда я POST
данные, кажется, монгодба повесил трубку. Это сообщение, которое я получаю в терминале, на котором я запускаю свое экспресс-приложение, и страница никогда не публикует данные. Поэтому я считаю, что проблема кроется в манго, но я не могу понять это.
POST /info 200 120002ms
Вот мой экспресс-код
var Info = require('../models/info');
var path = require('path');
var fs = require('fs');
var join = path.join;
exports.form = function(req,res){
res.render('info', {
myName: 'Michael'
});
};
exports.submit = function(){
console.log('Within exports.submit 1');
return function(req,res,next){
console.log('Within exports.submit 2 ');
var firstName = req.name.first;
var lastName = req.name.last;
Info.create({
firstName: firstName,
lastName: lastName
},function(err){
if(err) return next(err);
res.redirect('/')
});
}
};
Model
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/info');
var schema = new mongoose.Schema({
firstName: String,
lastName: String
});
module.exports = mongoose.model('info',schema);
app.js
...
app.get('/info',info.form);
app.post('/info',info.submit);
...