몽구스로 노드를 실행하는 것은 이번이 처음입니다. 나는이 백본 책에서 몇 가지 자습서를 따르고 있으며,이 장에서 표현형, 몽구스를 사용하여 편안한 API를 만드는 방법을 배우고 있으며 코드 복사 및 붙여 넣기와 정확히 일치하지만 여전히 작동하지 않습니다. 여기에 코드입니다 : 내가 문제를 해결하기 위해 노력하고 있지만, 내가 찾은 아무것도 나를 MongoDB를 연결할 수 있도록 같았다 스택 오버 플로우 및 다른 사이트에 주위 파고 봤는데간단한 노드 서버에서 몽구스 연결 방법이 실패합니다. 익스프레스, 몽구스, 경로
http://addyosmani.github.io/backbone-fundamentals/#creating-the-back-end
// Module dependencies.
var application_root = __dirname,
express = require('express'), //Web framework
path = require('path'), //Utilities for dealing with file paths
mongoose = require('mongoose'); //MongoDB integration
//Create server
var app = express();
// Configure server
app.configure(function() {
//parses request body and populates request.body
app.use(express.bodyParser());
//checks request.body for HTTP method overrides
app.use(express.methodOverride());
//perform route lookup based on url and HTTP method
app.use(app.router);
//Where to serve static content
app.use(express.static(path.join(application_root, 'site')));
//Show all errors in development
app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});
//Start server
var port = 4711;
app.listen(port, function() {
console.log('Express server listening on port %d in %s mode', port, app.settings.env);
});
// Routes
app.get('/api', function(request, response) {
response.send('Library API is running');
});
//Connect to database
mongoose.connect('mongodb://localhost/library_database');
//Schemas
var Book = new mongoose.Schema({
title: String,
author: String,
releaseDate: Date
});
//Models
var BookModel = mongoose.model('Book', Book);
.
첫 번째 오류는 다음과 같습니다는
events.js:72
throw er; // Unhandled 'error' event
^
Error: failed to connect to [localhost:27017]
at null.<anonymous> (/Users/jeff/Sites/backbone-ex2/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:536:74)
at EventEmitter.emit (events.js:106:17)
at null.<anonymous> (/Users/jeff/Sites/backbone-ex2/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:140:15)
at EventEmitter.emit (events.js:98:17)
at Socket.<anonymous> (/Users/jeff/Sites/backbone-ex2/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:478:10)
at Socket.EventEmitter.emit (events.js:95:17)
at net.js:411:14
at process._tickCallback (node.js:415:13)
이러한 변화는 그 문제를 해결하는 것 : 그 표현 일 후
mongoose.connect('mongodb://localhost/library_database', function(err) { if (err) console.log(err); });
을하지만, 연결 MongoDB를 실패
Express server listening on port 4711 in development mode
[Error: failed to connect to [localhost:27017]]
나는이로 변경 시도 : 나는 또한 를 실행하려고
mongoose = require('mongoose').Mongoose;
은 CLI의 옵션에 대한 몇 가지 변화와 CLI에을 mongod하지만 그냥 도움말 페이지를 가져올 것으로 보인다. 나는 완전히 붙어있어 ... 어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다.
나는 그것을 실제로 가지고 있고 달리기 때문에 별도의 창에서 설정 파일의 경로를 전달해야했다! 당신의 도움을 주셔서 감사합니다! – Jeffpowrs
알았어, mongodb가 실행 중이며 "모든 출력은 /var/log/mongodb/mongodb.log"이지만 내 서버를 시작하고 시작하면이 오류가 계속 발생합니다. [오류 : [localhost : 27017]에 연결하지 못했습니다.] 0 \ – Jeffpowrs
코드 문제가 있다고 생각하지 않습니다. 나는 뭔가가 너의 mongod와 헤이 와이어 일 것이라고 생각하지만 stackoverflow 코멘트를 통해 해결하기 어려운 문제 해결 방법이다. 어쩌면 MongoHub 또는 이와 동등한 mongodb GUI를 설치하고 제대로 연결할 수 있는지 확인하십시오. 또한 'telnet localhost 27017'을 실행하면 mongod가 실제로 27017에서 TCP 연결을 수락하는지 여부를 확인할 수 있습니다. –