0

私は、expressjsとそれが廃止されていないデータベースで動作するcrudの通常の例を見つけようとしています。

レールに戻らない理由を本当に言わせてくれます....

Web フォーラム、マニュアル、ビデオを検索しましたが、うまくいきませんでした..... それは難しいことです。expressjs データベース統合ですか?

誰でもコミュニティと明示的な mongolab のサンプル crud を共有できます ??

4

1 に答える 1

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メソッド)。

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-> UPDATEDELおよびGET-> READ) についても同様です。クライアント側のフォームでメソッドをオーバーライドする必要があります(サーバー側はミドルウェアによって自動的に行われますDEL):PUTmethodOverride

<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)
}

アプリの作成を楽しんでください。

于 2012-10-04T20:50:41.563 に答える