Toán tử $
được sử dụng trong đối tượng toán tử cập nhật (đối số thứ 2 của update
), không bộ chọn truy vấn (đối số thứ nhất). Trong bộ chọn truy vấn, bạn sẽ có thể để sử dụng aList.bList.cList._id
và điều này sẽ cho phép aList.$.bList.$.cList
tương ứng với phần tử phù hợp đầu tiên của cList
được nhúng trong toán tử cập nhật.
Chỉnh sửa:
Vị trí lồng nhau ($
) khớp toán tử hiện không được hỗ trợ. Vé này
cho thấy nhu cầu về chính xác tính năng này từ rất lâu trước đây (2010!), nhưng rõ ràng mã cấp thấp hơn trong mongoDB đã không thể thực hiện được điều này. Có vẻ như 10gen hy vọng sẽ có được tính năng này trong bản phát hành 2.6.
Có vẻ như bạn sẽ phải truy vấn và cập nhật riêng để đạt được điều này với lược đồ hiện tại của mình hoặc có thể thay đổi lược đồ của bạn để phẳng hơn.