Musisz użyć notacji kropkowej dla tablic.
Oznacza to, że powinieneś zastąpić $
z indeksem liczonym od zera elementu, który próbujesz zaktualizować.
Na przykład:
db.users.update ({_id: '123'}, { '$set': {"friends.0.emails.0.email" : '2222'} });
zaktualizuje pierwszy e-mail pierwszego znajomego i
db.users.update ({_id: '123'}, { '$set': {"friends.0.emails.1.email" : '2222'} })
zaktualizuje drugi adres e-mail pierwszego znajomego.