@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)
  • Вопрос задан
  • 42 просмотра
Пригласить эксперта
Ответы на вопрос 2
@Kentavr16
функция написана в корне неверно. Рекомендую ознакомиться с документацией mongoose - schema, model. также нужно определить коллекцию в которой вы будете все это сохранять. Кроме всего прочего мне непонятно откуда вы ожидаете получить этот самый request - нет созданного endpoint'a, который принимал бы post запрос.
Описанный код и не должен работать. Начните с просмотра обучалок по работе с бд.
И еще, асинхронные запросы к серверу по-хорошему должны отлавливать возможные ошибки - проще всего заворачивать обращения в блок try/catch. Иначе вы и не поймете, на каком этапе что-то пошло не так. Тоже можно подсмотреть на тубе.
Ответ написан
yarkov
@yarkov
Проект "Жизнь после смерти" - lifeafterdeath.ru
Я чегото не понимаю или надо вызывать user.messages.create?
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы