Перенаправить на новый сохраненный идентификатор Mongo после экспресс-отправки? - PullRequest
1 голос
/ 11 апреля 2019

В моем запросе POST я сохраняю новый документ в моей базе данных mongo. Могу ли я сделать res.redirect для этого точного идентификатора документа после сохранения базы данных? Я не уверен, как это сделать. Я не могу найти какие-либо учебные пособия, документацию или вопросы о переполнении стека, которые, кажется, отвечают именно тому, что я ищу.

Могу ли я сделать что-то подобное? Где: id - это идентификатор документа, который я только что сохранил в mongoose / mongo?

newItem.save (). Then (res.redirect ('/ results /: id');

Я ожидаю, что пользователь отправит запрос на публикацию. Я сохраняю информацию в документ монго через мангуста. Затем после сохранения я хочу перенаправить на новый URL-адрес с идентификатором сохраненного элемента на этой странице.

1 Ответ

1 голос
/ 11 апреля 2019

Конечно можно.

Метод save() может принять обратный вызов, чтобы вы могли получить поле _id сохраненного документа.

Один из способов сделать это будет:

newItem.save((err, itemSaved) => {
    if(err) {
        next(err);
    }
    const itemId = itemSaved._id;
    res.redirect('/results/' + itemId);
});

Надеюсь, это решит вашу проблему.

приписка

Нет необходимости использовать двоеточие на пути перенаправления. Остерегайтесь этого, потому что его использование даст вам Cast Error.

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