노드 서버와 함께 간단한 backbone.js 응용 프로그램을 만들고 백엔드로 mongodb를 작성하려면이 책의 내용을 addyosmani - backbone-fundamentals에 따라야합니다.mongoose를 사용하여 mongoDB에 연결할 수 없습니다.
지시대로 최신 버전의 Node.js를 nodejs.org에서 설치하고 mongodb을 www.mongodb.org에서 설치하고 mongodb를 instructions에 따라 실행했습니다.
{
"name": "backbone-library",
"version": "0.0.1",
"description": "A simple library application using Backbone",
"dependencies": {
"express": "~3.1.0",
"path": "~0.4.9",
"mongoose": "~3.5.5",
"body-parser": "~1.9.1"
}
}
tutorial then suggests to는 MongoDB를 연결하기위한 server.js
파일에 다음을 추가합니다 : 나는 다음 행과 혼동있어
//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);
다음과 같이
package.json
은 다음과 같습니다
mongoose.connect('mongodb://localhost/library_database');
이 책은 library_database
라는 이름의 데이터베이스를 생성에 관한 어떤 것도 언급하지 않고 내가 수동으로 생성하지 않았기 때문에 - 나는 server.js
에서 다음을 실행 정지하는 경우 :
mongoose.createConnection('mongodb://localhost/library_database');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
// we wait till mongo is ready before letting the http handler query users:
db.once('open', function() {
console.log('Running');
//Schemas
var Book = new mongoose.Schema({
title: String,
author: String,
releaseDate: Date
});
//Models
var BookModel = mongoose.model('Book', Book);
});
이 Running
를 기록 ..! (내가 어떤 library_database
를 작성하지 않았기 때문에 오는 방법 ...?)
하지만, 더 아래 그림과 같이 GET 요청 핸들러를 추가하여 책을 따르십시오 :
//Get a list of all books
app.get('/api/books', function(request, response) {
return BookModel.find(function(err, books) {
if(!err) {
return response.send(books);
} else {
return console.log(err);
}
});
});
을하고 그것을 명중 다음 요청 :
:jQuery.get('/api/books/', function(data, textStatus, jqXHR) {
console.log('Get response:');
console.dir(data);
console.log(textStatus);
console.dir(jqXHR);
});
튜토리얼에 따르면 내가 대신 나는 다음과 같은 오류가 발생, 로그를 볼 생각 해요
DB는 현재 기본 데이터베이스 "test"로 기본 포트를 수신 대기 중입니다.
mongo 셸에서 use library_database
을 시도했지만 여전히 노드 서버에서 동일한 응답을 받았습니다.
응용 프로그램의 db를 수동으로 만들어야합니까? 그렇다면 앱의 인스턴스를 만들고 노드 서버에서 연결하는 방법은 무엇입니까?
또는 mongoose가 응용 프로그램 루트 폴더에 해당 db를 자동으로 만듭니다 (매우 희박합니다) ..?
나는 약간의 기본 개념이 누락되었을 수 있으므로 node.js
, mongodb
, mongoose
등으로 상당히 익숙하다. 나는 무엇을 놓치고 ..?
포트 번호에서이 정보가 도움이 찾을 수 있습니다 3.0 이상이 포트에는 추가되지 후했다. 잘 잡으세요! – webblover