Как я могу исправить вложенный объект в документе mongodb с помощью мангуста

#node.js #mongodb #mongoose #httprequest

Вопрос:

В приложении Nodejs-Mongoose-MongoDB я не могу найти правильный код для обновления вложенного объекта внутри документа MongoDB. Документ имеет следующую структуру:

     {  "_id": { "$oid": "60410b7f86e537057114eb22" },
      "familyName": "Jansen",
      "children": [
        {
          "_id": { "$oid": "60410f89d34f9f0e36ce4801" },
          "firstName": "Johanna",
          "sports": "football"
        },
        {
          "_id": { "$oid": "60410f9ad34f9f0e36ce4802" },
          "firstName": "Bob",
          "sports": "atlethic"
        },
        {
          "_id": { "$oid": "604118528bdcab190515f179" },
          "firstName": "John",
          "sports": "boxing"
        }]}
 

Я хочу изменить значения в объекте (_id=»60410f89d34f9f0e36ce4801″) с «Джоанна» на «Джонатан» и с «футбол» на «футбол».
В узловом маршруте.в документе js у меня есть следующий код:

 router.route('/:id/children/:id')
.patch(familyController.updateField);
 

Первый идентификатор предназначен для документа, а второй — для вложенного объекта.
В ‘familyController.js’ документ содержит следующую строку кода:

 exports.updateField = (async (req, res, next) => {
  const updatedField = await Family.findByIdAndUpdate( req.params.id, req.body );
  if (!updatedField) {
    return next(new AppError("This document can not be found", 404));
  }
  res.status(200).json({
    status: 'success',
    data: updatedField
  });
});
 

Я попытался обновить документ с помощью почтальона:

 localhost:3000/api/v1/family/60410b7f86e537057114eb22/children/60410f89d34f9f0e36ce4801
{
  "firstName": "Jonathan",
  "sports": "soccer"
}
 

Должно быть, я допустил одну или несколько ошибок. Я надеюсь, что кто-нибудь сможет помочь с правильным кодом и простым (для начинающих) объяснением.
Спасибо.