I din forespørgsel bruger du positionsoperator ($-tegn) for at lokalisere en bestemt video efter _id, og så vil du skubbe et element til rapporter.
Problemet er, at MongoDB ikke ved, hvilken video du forsøger at opdatere, fordi den sti, du har angivet (seasons.episodes.videos.$.reports ) indeholder to andre arrays (sæsoner og episoder).
Som dokumentationen siger, kan du ikke bruge denne operatør mere end én gang
Denne begrænsning komplicerer din situation. Du kan stadig opdatere dine rapporter, men du skal kende nøjagtige indekser for ydre arrays. Så følgende opdatering ville være et fungerende eksempel:
db.movies.update({'seasons.episodes.videos._id': data._id}, {$push: {'seasons.0.episodes.0.videos.$.reports': data.details}})
Alternativt kan du opdatere en større del af dette dokument i node.js eller genoverveje dit skemadesign med tanke på teknologiske begrænsninger.