Trong truy vấn của mình, bạn đang sử dụng toán tử vị trí ($ sign) để bản địa hóa một video cụ thể bằng _id và sau đó bạn muốn đẩy một mục lên báo cáo.
Vấn đề là MongoDB không biết bạn đang cố cập nhật video nào vì đường dẫn bạn đã chỉ định ( season.episodes.videos. $. Báo cáo ) chứa hai mảng khác (phần và tập).
Như tài liệu nói rằng bạn không thể sử dụng toán tử này nhiều lần
Hạn chế này làm phức tạp thêm tình hình của bạn. Bạn vẫn có thể cập nhật báo cáo của mình nhưng bạn cần biết chỉ mục chính xác của các mảng bên ngoài. Vì vậy, bản cập nhật sau đây sẽ là ví dụ hoạt động:
db.movies.update({'seasons.episodes.videos._id': data._id}, {$push: {'seasons.0.episodes.0.videos.$.reports': data.details}})
Ngoài ra, bạn có thể cập nhật phần lớn hơn của tài liệu này trong node.js hoặc xem xét lại thiết kế giản đồ của mình, lưu ý các hạn chế về công nghệ.