如何标记HTML以在Mongoose中保存嵌套对象?

时间:2019-01-13 20:34:09

标签: node.js express mongoose body-parser

我有一个看起来像这样的模型:

const recipeSchema = new Schema({
title: { type: String , required: true},
description: { type: String , required: true},
steps:[{
    text:{type:String},
    ingredients:{type:String}
}]});

使用bodyparser,我可以通过简单地在HTML表单的name属性中标记数据来保存数据。如下所示:

<div class="input-field">
            <textarea id="title" name="title" placeholder="Enter title here"></textarea>
            <label for="title">Title</label>
</div>

此方法适用于前两个字段(标题和说明),但我一直在如何为 steps 字段添加标签。如何使代码理解哪些输入字段用于step.text,哪些输入字段用于step.ingredient?并创建对象数组?

2 个答案:

答案 0 :(得分:0)

您如何将数据传递到html页面?我认为使用EJS之类的视图引擎可以更好地解决您的问题。它允许您将数据传递到视图,然后将数据直接注入到html元素中。

答案 1 :(得分:0)

弄清楚了。对于可能偶然发现这篇文章的其他人,这是您的操作方法。

基本上,您需要使用以下格式(按照上面的示例)以以下格式引用数组中的对象:

step[0][text]

我在文档的任何地方都找不到它,但最终从以下链接获得了它: http://www.thiscodeworks.com/how-to-save-input-from-html-form-to-json-file-using-body-parser-html-nodejs/5c44c4722178800014d5f127