I din fråga använder du positionsoperator ($-tecken) för att lokalisera en viss video med _id och sedan vill du skicka ett objekt till rapporter.
Problemet är att MongoDB inte vet vilken video du försöker uppdatera eftersom sökvägen du angav (seasons.episodes.videos.$.reports ) innehåller två andra arrayer (säsonger och avsnitt).
Som dokumentationen säger kan du inte använda den här operatören mer än en gång
Denna begränsning komplicerar din situation. Du kan fortfarande uppdatera dina rapporter men du behöver veta exakta index för yttre arrayer. Så följande uppdatering skulle vara ett fungerande exempel:
db.movies.update({'seasons.episodes.videos._id': data._id}, {$push: {'seasons.0.episodes.0.videos.$.reports': data.details}})
Alternativt kan du uppdatera en större del av det här dokumentet i node.js eller ompröva din schemadesign med tanke på tekniska begränsningar.