У меня есть форма, которая добавляет дополнительную информацию для определенного пользователя c, моя схема содержит имя, пароль, адрес электронной почты и данные об образовании и образовании, которые не будут запрашиваться до того, как пользователь сначала создаст учетную запись. После регистрации пользователя он перенаправляет их на что-то вроде «localhost: 5000 / user / setting / 5c27381923csw123923» (последняя часть - идентификатор пользователя). Теперь я хочу добавить данные об образовании в коллекцию пользователей на моем mongodb.
form class="info" action="/users/setting" method="POST">
<div class="fields">
<div class="education">
<label for="education">Education</label>
<select name="education" id="education">
<option value="bachelor">bachelor</option>
<option value="Master">Master</option>
<option value="Phd">Phd</option>
<option value="Other">Other</option>
</select>
</div>
</div>
<button type="submit" class="signin-button">Submit</button>
</form>
Мой маршрут публикации выглядит следующим образом:
router.post("/setting/:id", (req, res, next) => {
const userid = req.params.id;
const { education } = req.body;
User.updateOne(
{ userid },
{ $set: { education } },
(err) => {
if (err) {
throw err;
} else {
res.send("good");
}
}
);
});
Когда я нажимаю кнопку "отправить", ничего не происходит быть измененным или вставленным. Что делать, если маршрут является динамическим c, например, "localhost: 3000 / user / setting / 5c2312327318273s", и попытаться вставить данные для этого указанного c идентификатора пользователя?