2012-10-04 2 views
0

진부한 표현을 사용하는 일반적인 예와 쓸모없는 데이터베이스를 찾기 위해 triyng를 사용하십시오.Expressjs mongolab이있는 Creud 데이터베이스

정말

열심히 그것은 expressjs 데이터베이스 통합 있다고 ..... 웹 포럼 매뉴얼 비디오 행운을 검색 .... 내가 다시 레일 w 이동 해달라고 왜 나에게 말을 하죠?

누구나 공유 할 수 있습니다. comunity express mongolab example crud ??

답변

2

모든 프로젝트를 다른 프로젝트에 쉽게 재사용 할 수있는 별도의 파일로 저장하는 것이 좋습니다. 귀하의 db.js는 다음과 같이 수 : 당신은 당신의 자격 증명으로 <> 필드를 대체 할

var mongoose = require('mongoose'); 

var db = mongoose.createConnection("mongodb://<db_user>:<db_password>@ds0<db_port>.mongolab.com:<db_port>/<db_name>"); 

var playerSchema = new mongoose.Schema({ 
    name: String, 
    tournament: String 
}); 

exports.Player = db.model("player", playerSchema); 

. 그런 다음 주 app.js에서 새 플레이어를 만들 수있는 경로를 만듭니다 (POST 메서드). (->UPDATE, DELGET ->READPUT) 당신의 routes.js

var db = require('./db'); 
exports.createPlayer = function(req, res) { 
    var player = new db.Player(); 
    player.name = req.body.player_name; 
    player.tournament = req.body.tournament; 
    player.save(function(err) { 
    if (err) { 
     console.log(err); 
    } 
    res.redirect("/" + player._id); 
    }); 
}; 

같은에서

마지막으로 다음
var routes = require('./routes'); 
app.post("/", routes.createPlayer); 

와는 다른 방법에 간다.

<input type="hidden" name="_method" value="delete"/> 

리디렉션이 당신의 app.js

app.get("/:player_id", routes.showPlayer) 

에 다음을 추가 사용하려면 : DELPUT 위해 당신은 (자동 methodOverride 미들웨어에 의해 수행 서버 측)이 클라이언트 측 형태의 메소드를 오버라이드 (override) 할 필요가 당신의 routes.js

exports.showPlayer = function(req, res) { 
    res.send('Details about Player ' + req.params.player_id) 
} 

에 재미 응용 프로그램을 만드는 되세요!

+0

예제가 작동합니다! 이제는 cesna가 사용자를 식별 할 수 있도록 seesion 처리기를 찾아야합니다. 좋은 매뉴얼 책을 알고 있니? – Nonyck

+0

이 예제의보기를 추가 할 수 있습니까? Im 님이 res.redirect ("/"+ player._id)에서 문제가 발생했습니다. – Nonyck

+0

내 대답이 향상되었습니다. 도움이된다면, 받아 들여야 할 수도 있습니다! – zemirco