【问题标题】:MongoDB req.body IssueMongoDB req.body 问题
【发布时间】:2020-01-14 19:16:48
【问题描述】:

我有一个非常简单的 Mongo 设置,如下所示。这非常适合从输入字段获取数据并保存数据。一切正常。

我的问题:我将如何遍历前端的作业变量并设置数据,以便它可以与我的模型一起使用。不知何故,我需要将它输入输入,以便我可以 req.body?

数据:

var jobs = [
{   
name: "Accountant"
salary: 0,
}, {
name: "Actor"
salary: 0,
}, {
name: "Actuary"
salary: 0
}]... + hundreds more... 

我的 Mongo 架构:

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

module.exports = mongoose.model('jobs' , jobSchema)

我的发帖路线:

router.post('/register', function(req, res) {
    var job = ({
    name:   req.body.name,
    salary: req.body.salary,
    })

要发帖的表格:

<form action="/register" method="post">
    <textarea class='jobnames' type="text" name="name" placeholder="name"> </textarea>
    <textarea class='2' type="number" name="salary" placeholder="salary"> </textarea>
    <button >Submit</button>
</form>

【问题讨论】:

    标签: node.js mongodb express mongoose


    【解决方案1】:

    您可以使用 insertMany() 查询进行尝试。

    req.body = [
      {
        name: "Accountant",
        salary: 0,
    
      },
      {
        name: "Actor",
        salary: 0,
    
      },
      {
        name: "Actuary",
        salary: 0
      }
    ]
    
    db.collection.insertMany(req.body);
    

    借助此查询,您可以一次插入多个文档。
    唯一 id 即 _id 将自动生成。

    有关insertMany()的更多信息,请访问official document

    【讨论】:

    • 这太棒了,谢谢你的帮助!!一个问题......我将如何从前端提取信息?因此,假设薪水的数字是用户生成的数字......我如何从前端数组中提取该数据?数据不是静态的
    • 你能帮我一个忙吗,接受答案.. 欢迎.. 很高兴帮助你。 .. 我会在今晚之前回复你。 @andrewleonardi
    【解决方案2】:

    您可以使用数组本身创建它,即在发布请求中传递数组jobs。例如:

    // set up the model using the schema
    var Job = mongoose.model('Job', JobSchema);
    
    Job.create(req.body)
    .then(records => console.log('created records', JSON.stringify(records, null, 2))
    

    Model.create

    【讨论】:

    • 有趣的谢谢!我一直很难在后端访问前端变量“jobs”。那么 req.body 将能够访问它吗?
    • 假设您有一个 json 正文解析器作为中间件正常运行,是的。 npmjs.com/package/body-parser
    • 我愿意!啊!所以我可以单独通过 req.body 访问变量 - 太棒了
    • 嗯!出于某种原因,除非我指定输入,否则 req.body 返回空
    • “指定输入”是什么意思?你是如何发出 http 请求的?
    猜你喜欢
    • 1970-01-01
    • 2022-01-14
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多