Database
[{"_id":{"$oid":"6138abc106b3ad1d3477b3e2"},"images":[],"tutors":[],"name":"c/c++","duration":8,"price":1299,"imageCover":"cool_lion.jpg","description":"","curriculum":[{"_id":{"$oid":"6138abc106b3ad1d3477b3e3"},"week":1,"description":"introduction to microcontroller and microprocesor","links":[{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3e4"},"name":"introduction","link":"https://www.youtube.com/embed/d0e6ScoS3Sw"},{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3e5"},"name":"difference between mc and mp","link":"https://www.youtube.com/embed/dcNk0urQsQM"},{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3e6"},"name":"building with microcontroller vs boards(arduino uno)","link":"https://www.youtube.com/embed/IdEcm3GU7TM"}]},{"_id":{"$oid":"6138abc106b3ad1d3477b3e7"},"week":2,"description":"introduction to arduino uno","links":[{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3e8"},"name":"introduction to arduino uno","link":"https://www.youtube.com/embed/BiCSW6QR6HA"},{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3e9"},"name":"IO PINS","link":"https://www.youtube.com/embed/OZGMLOwHYf8"},{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3ea"},"name":"setting up arduno uno for programming","link":"https://www.youtube.com/embed/ELUF8m24sZo"}]},{"_id":{"$oid":"6138abc106b3ad1d3477b3eb"},"week":3,"description":"interfacing with different sensors","links":[{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3ec"},"name":"LED Blinking(OUTPUT)","link":"https://www.youtube.com/embed/dnPPoetX0uw"},{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3ed"},"name":"interfacing with button(INPUT)","link":"https://www.youtube.com/embed/58Ynhqmvzoc"},{"watched":false,"_id":{"$oid":"6138abc106b3ad1d3477b3ee"},"name":"16x2 LCD","link":"https://www.youtube.com/embed/Mr9FQKcrGpA"}]}],"__v":0}]
Query
db.collection.update({},{$push:{"curriculum.$[elem].links":{link:"a",name:"b",whatched:"c"}}},{arrayFilters:[{"elem.week":1}]})