У меня есть модель, которая выглядит так:
const recipeSchema = new Schema({
title: { type: String , required: true},
description: { type: String , required: true},
steps:[{
text:{type:String},
ingredients:{type:String}
}]});
Используя bodyparser, я могу сохранять данные, просто помечая их в атрибуте name HTML-формы. Как показано ниже:
<div class = "input-field">
<textarea id = "title" name = "title" placeholder = "Enter title here"></textarea>
<label for = "title">Title</label>
</div>
Этот метод хорошо работает для первых двух полей (заголовок и описание), но я застрял в том, как пометить их для поля шаги. Как мне заставить код понимать, какие поля ввода предназначены для step.text, а какие - для steps.ingredient? И создать массив объектов?





Как вы передаете свои данные на html-страницу? Я думаю, что использование механизма просмотра, такого как EJS, лучше решает вашу проблему. Он позволяет передавать данные в представление, а затем вставлять данные непосредственно в элементы html.
Догадаться. Для всех, кто может наткнуться на этот пост, вот как вы это делаете.
В основном вам нужно ссылаться на объект в массиве (как в примере выше) в следующем формате:
step[0][text]
Я не смог найти его в документации, но, наконец, получил его по этой ссылке: http://www.thiscodeworks.com/how-to-save-input-from-html-form-to-json-file-using-body-parser-html-nodejs/5c44c4722178800014d5f127