Bạn cần sử dụng Ký hiệu dấu chấm cho các mảng.
Đó là, bạn nên thay thế $
với chỉ mục dựa trên 0 của phần tử bạn đang cố cập nhật.
Ví dụ:
db.users.update ({_id: '123'}, { '$set': {"friends.0.emails.0.email" : '2222'} });
sẽ cập nhật email đầu tiên của người bạn đầu tiên và
db.users.update ({_id: '123'}, { '$set': {"friends.0.emails.1.email" : '2222'} })
sẽ cập nhật email thứ hai của người bạn đầu tiên.