Я создал это приложение js для узла, а затем попытался с почтальоном, но каждый раз, когда я делал запрос, который включает mongodb, он продолжает загружаться. Поиск функции в модели - это то, где код останавливается и callback никогда не вызывается.Не удается установить соединение mongodb с узла js
app.js
var express = require("express"),
app = express(),
bodyParser = require('body-parser'),
methodOverride = require('method-override'),
mongoose = require('mongoose');
//Connection to DB
mongoose.connect('mongodb://localhost:27017/users', function(err, res) {
if(err) {
console.log('ERROR: connecting to Database. ' + err);
}
});
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(methodOverride());
var models = require('./models/user')(app, mongoose);
var userContoller = require('./controllers/user');
var router = express.Router();
router.get('/', function(req, res) {
console.log('GET');
res.send("Hello World!");
});
app.use(router);
var users = express.Router();
users.route('/users')
.get(userContoller.findAllUsers);
app.use('/api', users);
app.listen(3000, function() {
console.log("Node server running on http://localhost:3000");
});
модели/user.js
exports = module.exports = function(app, mongoose){
var userSchema = new mongoose.Schema({
userName: { type: String },
password: { type: Number }
});
mongoose.model('User', userSchema);
};
контроллеры/user.js
var mongoose = require('mongoose');
var User = mongoose.model('User');
//GET - Return all tvshows in the DB
exports.findAllUsers = function(req, res) {
console.log('llega');
User.find(function(err, users) {
if(err) res.send(500, err.message);
console.log('GET /users')
res.status(200).jsonp(users);
});
};
Сервер MongoDB запускается через консоль, но я не» t знать, как это проверить.
Спасибо!
EDIT:
Я сделал код проще для меня, чтобы проверить и решить эту проблему. Код теперь это, и я не получаю подключение к mongodb.
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', function() {
console.log('error');
});
db.once('open', function() {
console.log('connected');
});
Я не получаю в консоли ошибку или подключенную.
В консоли mongod я получаю сообщения о том, что было создано новое соединение. Это происходит каждый раз, когда я открываю программу nodejs. Thanks
Почему jsonp? Вы имели в виду json? –
Является ли экспресс-функция возвратом json – Fausto
Вы можете открыть терминал и ввести 'mongo', чтобы проверить, правильно ли работает mongo. – Finn