Как пометить HTML для сохранения вложенных объектов в Mongoose? - PullRequest
0 голосов
/ 13 января 2019

У меня есть модель, которая выглядит так:

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

Используя bodyparser, я могу сохранять данные, просто помечая их в атрибуте имени формы HTML. Как ниже:

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

Этот метод хорошо работает для первых 2 полей (заголовок и описание), но я застрял на том, как пометить их для поля steps . Как заставить код понять, какие поля ввода для step.text, а какие для steps.ingredient? А создать массив объектов?

Ответы [ 2 ]

0 голосов
/ 20 января 2019

Разобрался. Для всех, кто может наткнуться на этот пост, вот как вы это делаете.

Как правило, вам нужно обратиться к объекту в массиве (в соответствии с приведенным выше примером) в следующем формате:

step[0][text]

Я не смог найти его нигде в документации, но, наконец, получил по этой ссылке: http://www.thiscodeworks.com/how-to-save-input-from-html-form-to-json-file-using-body-parser-html-nodejs/5c44c4722178800014d5f127

0 голосов
/ 14 января 2019

Как вы передаете свои данные на HTML-страницу? Я думаю, что использование механизма просмотра, подобного EJS , решит вашу проблему лучше. Он позволяет передавать ваши данные в представление, а затем вставлять данные непосредственно в ваши HTML-элементы.

...