0
現在、イベントを作成してmongoデータベースに保存しようとしています。以下は私の現在のイベントスキーマです。ここでNode.js mongoで関数を作成
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
//blueprint for each new entry in the db
var eventSchema = new Schema({
eventName: {type:String},
eventDate: {type:String},
eventPlace:{type:String},
eventPrice: {type: Number}
});
module.exports = mongoose.model('Event', eventSchema);
私
// /route for new event
router.get('/newEvent', function (req,res,next) {
var messages = req.flash('error');
res.render('user/newEvent',{csrfToken: req.csrfToken(),messages: messages, hasErrors: messages.length >0});
});
//route for new event save
router.get('/createEvent', function(req, res, next) {
var event = new Event();
eventName = req.body.eventName;
eventDate = req.body.eventDate;
eventPlace = req.body.eventPlace;
eventPrice = req.body.eventPrice;
event.save(function(err) {
if(err) return next(err);
res.json({ message : 'Success!'});
});
});
そして、ここにファイル私のuser.jsの中で機能コードを作成している私のフォームは、私のnewEvent.hbsファイルに新しいイベントを作成することです。
これまでのところ、私は、コードを実行したとき、私は「必要:真の」削除したとき、私はeventNameの、eventPlace、EVENTDATEとeventPriceが必要とされており、入力されてhaventはというエラーを取得しますが、<div class = "row">
<div class="col-md-4 col-md-offset-4">
<h1> Create a new Event</h1>
{{#if hasErrors}}
<div class=alert alert-danger">
{{# each messages}}
<p>{{this}}</p>
{{/each}}
</div>
{{/if}}
<form action="/user/newEvent" method="post">
<div class="form-group">
<label for="eventName">Event Name</label>
<input type="text" id="eventName" name="eventName"class="form-control">
</div>
<div class="form-group">
<label for="eventDate">Event Date</label>
<input type="text" id="eventDate" name="eventDate" class="form-control">
</div>
<div>
<label for="eventPlace">Place of Event</label>
<input type="text" id="eventPlace" name="eventPlace" class="form-control">
</div>
<div>
<label for="eventPrice">Price of Event: €</label>
<input type="text" id="eventPrice" name="eventPrice" class="form-control">
</div>
<input type="hidden" name="_csrf" value="{{ csrfToken}}">
<a href="createEvent" class="pull-right btn btn-success" role="button">Create Event</a>
</form>
</div>
イベントスキーマ新しいからのイベントは作成されますが、データはデータベースに保管されません。
以下のコードを確認してくださいので、私はまだベント検証のエラーを取得に失敗しましたそのコードとイムを試してみました。 – Murf
私はコードを編集してくださいこのコードを編集してみてくださいイベントの初期化でオブジェクトを渡しましたこれはうまくいくでしょう –
イベントを作成するとエラーはなくなりますが、データはデータベースに保存されていません – Murf