【问题标题】:Save POST data To MongoDB: Node.js将 POST 数据保存到 MongoDB:Node.js
【发布时间】:2015-04-29 20:40:36
【问题描述】:

我是 node.js 的新手。我需要保存来自 HTML 页面使用的数据 - Mongodb 中的表单(用户名、密码、电子邮件等)。我有这个代码:

var Schema = new mongoose.Schema({
      _id    : String,
      name: String,
      age   : Number
});

var user = mongoose.model('emp', Schema);

    app.post('/new', function(req, res){
      new user({
        _id    : req.body.email,
        name: req.body.name,
        age   : req.body.age        
      }).save(function(err, doc){
        if(err) res.json(err);
        else    res.send('Successfully inserted!');
      });
    });

<form action="/new" method="POST">
<label for="email">Email: </label>
<input type="email" name="email" /><br />
<label for="name">Name: </label>
<input type="text" name="name" /><br />
<label for="age">Age: </label>
<input type="number" name="age" /><br />
<input type="submit"/>

当我运行服务器时。试图保存一些数据。我看到消息 “无法读取未定义的属性‘电子邮件’” “TypeError:无法读取未定义的属性‘电子邮件’” 有人帮我解决这个误解。非常感谢!

【问题讨论】:

  • 你必须包含 bodyParser 中间件才能使用req.body
  • 非常感谢!现在可以了!我正在安装框架 - 快递。 “json”默认在这一行“app.use(bodyParser.json());”

标签: javascript node.js mongodb http-post


【解决方案1】:

另外,您不需要在架构中定义 _id,它会自动创建。也许你的意思是定义 email : String 所以它匹配你的 req.body.email

【讨论】:

  • 这只是一个例子,如何在数据库中创建用户注册。每封电子邮件都是独一无二的。我改变了这个参数。现在它正在工作。谢谢。
猜你喜欢
  • 1970-01-01
  • 2023-03-30
  • 2018-03-04
  • 2019-05-05
  • 2021-10-04
  • 1970-01-01
  • 2017-07-13
  • 1970-01-01
  • 2021-08-23
相关资源
最近更新 更多