如何从表单中保存MongoDB中的数据

时间:2014-11-15 09:26:41

标签: javascript node.js forms mongodb mongoose

我有一张表格。我需要从我的表单中获取文本以将其保存在MongoDB中。

tweets.ejs:

<form method="post" action="/tweets">
<input type="text" id="txt" name="text"/>
<input type="button" id="btn" value="Touch me">
</form>

这是我的路线文件tweets.js:

var Message = require('models/messages');
exports.get = function(req,res) {
    res.render('tweets')
};

我使用mongoose schema(models / messages.js):

var mongoose = require('../libs/mongoose'),
    Schema = mongoose.Schema;
var MessageSchema = new Schema({
    message: String,
    date: Date
});
var Message = mongoose.model('Message', MessageSchema);
module.exports = Message;

我在tweets.js中尝试过set var m = req.body.text,但我认为这绝对是错误的方式

exports.post = function(req,res){
    var m = new Message;
    m.message = req.body.text;
    m.save(); }

请解释我该怎么做!

1 个答案:

答案 0 :(得分:0)

你的路线或app文件中的

应该是

var tweets = require("tweets");
app.post("/tweets", tweets.post);
你的tweets.js文件中的

var Message = require('models/messages');
exports.post = function(req,res){
console.log(req.body.text)
var msg = {message:req.body.text,date:new Date()};

Message(msg).save(function(error,data){
if (data){
console.log("Save "+ JSON.stringify(data));
res.send({statud:"OK",msg:data})
}
else{
res.send({statud:"Cancel"})
}
});
}