Estoy tratando de agregar un objeto de mensaje en un mapa anidado. Como puede ver en la captura de pantalla a continuación, quiero ingresar "nosotros", luego "0" y luego "mensajes" para agregar mi objeto. 
He usado el siguiente script:
firestore.collection("salon").document(idSalon).update( "us.0.messages",mensaje);
Cuando lo uso, simplemente sobrescribe todo como puedes ver. 
¿Puede alguien ayudarme por favor?
Como veo en su captura de pantalla, el campo "nosotros" es de tipo matriz. Para poder actualizar una matriz, debe usar arrayUnion y no una simple actualización de campo. Para eso, le recomiendo que consulte la documentación oficial con respecto a los elementos de actualización en una matriz de Firestore .
También he escrito un artículo llamado:
Eso creo que te ayudará a entender mejor este tema.