перебрать параметр URL и передать его в базу данных - PullRequest
2 голосов
/ 02 мая 2019

Я пытаюсь перебрать все свои почтовые запросы и добавить их сразу.Каков наилучший способ сделать это?

Вот моя форма и данные, которые я получаю.

var Form = new Schema({
    title: {
        type: String,
    },
    club: {
        type: String
    },
    date: {
        type: String
    },
    partyInfo: {
        type: [{
            entry: {
                type: Boolean,
                default: true
            },
            student: {
                type: Boolean,
                default: false
            },
            minAge: {
                type: Number,
            }
        }],
    }
});

Теперь я мог бы пройти через все это в моем FormController

let title = urlParams.title;
let club = urlParams.club;

Но это было бы нехорошо.

Вот мой полный контроллер.

exports.contact = function(req, res) {
    let urlParams = req.query;

    let title = urlParams.title;
    let club = urlParams.club;

    let formParams = new Form({
        'title': title,
        'club': club
    });

    formParams.save(function (err) {
    });
    res.json(formParams);

};

Я не уверен, как я мог бы сделать это хорошо, любойпредложения?Лучше ли зациклить запрос или сначала сохранить все в массиве?

1 Ответ

2 голосов
/ 02 мая 2019

Поскольку вы используете Mongoose, вы можете использовать предоставляемую им проверку: https://mongoosejs.com/docs/validation.html

Если вы передадите urlParams Схеме, она удалит все ключи, которые не являются частью схемы.И все ключи, которые являются частью схемы, могут автоматически проверяться Mongoose.

Пример:

exports.contact = function(req, res) {
    let formParams = new Form(req.query);
    formParams.save(function (err) {
    });
    res.json(formParams);
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...