У меня есть MongoDB, и я использую API Mon goose.
У меня есть метод, который, я надеюсь, позволит мне найти «привычку» в моем пользовательском объекте. Привычка - это объект, который живет множеством привычек. Я передаю методу UUID, чтобы найти привычку.
Вот мой метод:
async updateHabit(req, res) {
const { user_id } = req.headers
const { habitId } = req.params
const habit = req.body
const user = await User.findById(user_id)
const habitIndex = user.habits.findIndex(habit => habit.id == habitId)
user.habits[habitIndex] = habit
console.log(user.habits)
await user.save()
return res.json(user.habits)
}
Что странно, так это журнал консоли прямо над методом сохранения, в котором отображается самая последняя версия моего пользователя отображается правильно. Он регистрирует привычки пользователя с обновленной привычкой, заменяющей старую - по индексу, в котором жил старый.
Однако метод сохранения не записывает это в мою базу данных. У меня почти идентичный метод удаления, который работает нормально.
Я пробовал перейти с PUT на POST (думая: «ну, я действительно отправляю новый массив»), но это не так » т работы.