Bạn đang gõ cái này trong robomongo? Có vẻ như vậy! Nếu vậy nó sẽ không hoạt động. Đọc ghi chú của tôi về Cập nhật Mảng lồng nhau với MongoDB, trong đó tôi nói rằng điều này không hoạt động trong "trình bao cũ hơn" hoặc bất kỳ thứ gì dựa trên nó (mà robomongo là một xây dựng dựa trên trình bao) vì cách các phương thức trình trợ giúp trình bao hiện được triển khai:
LƯU Ý Hơi trớ trêu, vì điều này được chỉ định trong đối số "tùy chọn" cho
.update()
và giống như các phương pháp, cú pháp nói chung tương thích với tất cả các phiên bản trình điều khiển phát hành gần đây.Tuy nhiên, điều này không đúng với
mongo
shell, vì cách phương thức được triển khai ở đó ("trớ trêu thay cho khả năng tương thích ngược")arrayFilters
đối số không được công nhận và bị xóa bởi một phương thức nội bộ phân tích cú pháp các tùy chọn để cung cấp "khả năng tương thích ngược" với các phiên bản máy chủ MongoDB trước đó và "kế thừa".update()
Cú pháp gọi API.Vì vậy, nếu bạn muốn sử dụng lệnh trong
mongo
shell hoặc các sản phẩm "dựa trên shell" khác (đặc biệt là Robo 3T), bạn cần có phiên bản mới nhất từ nhánh phát triển hoặc phiên bản sản xuất từ 3.6 trở lên.
Vì vậy, nếu bạn muốn "chơi với" ứng cử viên phát hành, hãy sử dụng mongo
đi kèm shell với phiên bản đó hoặc chỉ cần chạy mã của bạn thông qua bất kỳ trình điều khiển tiêu chuẩn nào.