我试图找到一个正常工作的 crud w expressjs 示例和一个它没有过时的数据库。
真的让我说为什么我不回去 w rails ....
我搜索了网络论坛手册视频没有运气.....那很难它是 expressjs 数据库集成?
任何人都可以与社区分享一个快速的 mongolab 示例 crud ??
将所有数据库内容放入一个单独的文件中是一个很好的做法,该文件可以在不同的项目中轻松重用。您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
方法)。
var routes = require('./routes');
app.post("/", routes.createPlayer);
最后在你的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);
});
};
其他方法(PUT
->UPDATE
和-> )DEL
也是如此。对于并且您必须覆盖客户端表单中的方法(服务器端由中间件自动完成):GET
READ
DEL
PUT
methodOverride
<input type="hidden" name="_method" value="delete"/>
要使用重定向,请将以下内容添加到您的app.js
app.get("/:player_id", routes.showPlayer)
和你的routes.js
exports.showPlayer = function(req, res) {
res.send('Details about Player ' + req.params.player_id)
}
玩得开心创建您的应用程序!