У меня есть REST API, который обновляет базу данных MongoDB.
Вот моя модель данных:
Коллекция 1: случаи:
_id: ObjectID
caseNumber: Строка
person: people.ObjectID
Коллекция 2: человек:
_id: ObjectID
name: String
вовлеченных случаев: [case.ObjectID]
Я хочу запросы POST / PUT для случаев чтобы проверить, было ли изменено case.person , и, если так, нажмите case._id в массив people.involvedCases .
Thisбыла моей лучшей попыткой, но не работает:
.put('/:id', async (req, res, next) => {
const note = await Cases.findByIdAndUpdate(req.params.id, { $set: req.body }, { $upsert: true, new: true })
if (req.body.person.isModified()) {
await People.findByIdAndUpdate(req.body.person,
{ $push: {involvedCases: req.params.id }})
}
res.status(200).send(note)
})
Возвращает ошибку
req.body.person.isModified is notфункция
Я на правильном пути?Было бы лучше обрабатывать обновление коллекции People как отдельный вызов API, а не пытаться обрабатывать его из контроллера Cases?
Любая помощь или совет с благодарностью!