0
Im triyng找到一個正常工作的例子crud w expressjs和一個數據庫,它並沒有過時。Expressjs Crew數據庫與蒙哥拉
真的讓我說爲什麼我不回去W¯¯軌道....
我在網上搜索論壇手冊視頻沒有運氣.....難這是expressjs數據庫集成?
任何人都可以分享一個明確的mongolab例子crud?
Im triyng找到一個正常工作的例子crud w expressjs和一個數據庫,它並沒有過時。Expressjs Crew數據庫與蒙哥拉
真的讓我說爲什麼我不回去W¯¯軌道....
我在網上搜索論壇手冊視頻沒有運氣.....難這是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)
}
有創造你的應用程序的樂趣!
你的例子工作!現在我只需要找到一個便攜式處理器,以便用戶識別。知道一本好手冊? – Nonyck
你可以添加這個例子的意見嗎?我遇到res.redirect問題(「/」+ player._id); – Nonyck
改進了我的答案。如果它有幫助,你可能想要接受它! – zemirco