@Pasha1neo

Как манипулировать вложенными схемами mongoose?

const User = new Schema(name:String, messages:[{message:String}])
async function Create(req, res) {
    const {id} = req.body
    let user = await User.findById(id)
    user.messages.create({message: 'MessageText'})
    user.save()
    res.send(user)
}

Не работает метод create, данные не сохранябтся и даже ошибки нету.
Есть ли ещё методы как можно манипулировать вложенными схемами? (кроме push)
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ответы на вопрос 2
Kentavr16
@Kentavr16
long cold winter
функция написана в корне неверно. Рекомендую ознакомиться с документацией mongoose - schema, model. также нужно определить коллекцию в которой вы будете все это сохранять. Кроме всего прочего мне непонятно откуда вы ожидаете получить этот самый request - нет созданного endpoint'a, который принимал бы post запрос.
Описанный код и не должен работать. Начните с просмотра обучалок по работе с бд.
И еще, асинхронные запросы к серверу по-хорошему должны отлавливать возможные ошибки - проще всего заворачивать обращения в блок try/catch. Иначе вы и не поймете, на каком этапе что-то пошло не так. Тоже можно подсмотреть на тубе.
Ответ написан
yarkov
@yarkov
Помог ответ? Отметь решением.
Я чегото не понимаю или надо вызывать user.messages.create?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы