Ошибка преобразования во встроенное для значения "'email@mail.com'" в пути "получатели" - PullRequest
0 голосов
/ 18 июня 2020

У меня проблема в NodeJS при попытке добавить строку в массив, чтобы сохранить ее в MongoDB.

Cast to embedded failed for value "'email@mail.com'" at path "recipients"

Я пытаюсь написать в HTML введите несколько писем, разделенных ','. Код захватывает их и разделяет с помощью .split () . Это возвращает массив, но когда я пытаюсь сохранить их в своей базе данных MongoDB, я получаю сообщение, написанное выше. Это мой код:

var recipients = await req.body.recipients.split()
const newMail = new Mail({ 
    remitent: req.user.email,
    recipients: recipients,
    ...req.body
})

newMail.save()
    .then((mail) => console.log(mail))
    .catch((err) => console.log(err))

Схема электронной почты следующая, на случай, если она вам тоже понадобится:

const mailSchema = new mongoose.Schema ({
    remitent: {
        type: String,
        required: true,
    },
    recipients: [{
        recipient: {
            type: String,
            required: true,
        }
    }],
    subject: {
        type: String
    },
    message: {
        type: String,
        required: true
    }
}) 

Вы знаете, как я могу решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...