updating Document Arrays in mongoose code example

Example 1: how to update data subdocument array in mongoose

// mongodb operation
db.getCollection('profilesservices').update({
  _id: ObjectId("6037ad8ac8f713f1d31abe38"), 
 "workExperience._id": ObjectId("6037ad8ac8f713f1d31abe39")}, 
   { $set: { "workExperience.$.companyName": "bukalapak" }
   
})


//sample data
}
    "profileId" : "Sa4Dq9Xuw",
    "photo" : "https://res.cloudinary.com/coding-street-art/image/upload/v1614261651/yxnvpazindsvz6lfst3m.jpg",
    "gender" : "pria",
    "birthDate" : ISODate("1997-03-19T17:00:00.000Z"),
    "status" : "mahasiswa",
    "nationality" : "indonesia",
    "aboutMe" : null,
    "resume" : "https://res.cloudinary.com/coding-street-art/raw/upload/v1614261653/bemkbknvhzknxffmala2.doc",
    "skills" : [ 
        "javascript", 
        "typescript", 
        "react", 
        "vuejs", 
        "express.js", 
        "nodejs"
    ],
    "userId" : "602e8f43c0e227e6cb80bc56",
    "workExperience" : [ 
        {
            "companyName" : "bukalapak", //before valie is bukopin
            "jobPosition" : "data entry",
            "startDate" : ISODate("2015-02-14T17:00:00.000Z"),
            "endDate" : ISODate("2017-07-27T17:00:00.000Z"),
            "workInformation" : "",
            "_id" : ObjectId("6037ad8ac8f713f1d31abe39")
        }, 
        {
            "companyName" : "procar international finance",
            "jobPosition" : "general affair",
            "startDate" : ISODate("2015-02-14T17:00:00.000Z"),
            "endDate" : ISODate("2017-07-27T17:00:00.000Z"),
            "workInformation" : "",
            "_id" : ObjectId("507f1f77bcf86cd799439011")
        }
    ],
    "education" : [ 
        {
            "institutionName" : "unindra",
            "educationDegree" : "sarjana",
            "fieldStudy" : "tehnik informatika",
            "startDate" : ISODate("2015-03-24T17:00:00.000Z"),
            "endDate" : ISODate("2020-03-24T17:00:00.000Z"),
            "educationInformation" : "",
            "_id" : ObjectId("6037ad8ac8f713f1d31abe3a")
        }
    ],
    "appreciation" : [],
    "volunteerExperience" : [],
    "__v" : 0
}

Example 2: mongoose update array in object

Person.findOneAndUpdate({_id: id}, 
{ 
  "$set": {[`items.$[outer].${propertyName}`]: value} 
},
{ 
  "arrayFilters": [{ "outer.id": itemId }]
},
function(err, response) {
  ...
})