이 노드 js app를 만든 다음 우편 배달부에서 시도했지만 mongodb와 관련된 요청을 할 때마다로드가 유지됩니다. 모델의 find 함수는 코드가 멈추고 콜백이 호출되지 않는 곳입니다.노드 js에서 mongodb 연결을 설정할 수 없습니다
는 '/
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");
});
모델을 app.js
exports = module.exports = function(app, mongoose){
var userSchema = new mongoose.Schema({
userName: { type: String },
password: { type: Number }
});
mongoose.model('User', userSchema);
};
컨트롤러의 user.js /는 MongoDB를 서버 콘솔을 통해 시작
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);
});
};
의 user.js하지만 난 돈 그것을 확인하는 방법을 안다.
감사합니다.
편집 :
내가 나를 테스트하고 문제를 해결하기 위해 쉽게 코드를했다. 코드가 이제 이것이며 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 프로그램을 열 때마다 발생합니다. 감사합니다
왜 jsonp입니까? 저 슨이라고 했니? –
json을 반환하는 express 함수입니다 – Fausto
터미널을 열고 mongo를 입력하여 mongo가 제대로 작동하는지 확인할 수 있습니다. – Finn