Firestore mise à jour qu'un seul champ

J'ai une base de données. La séquence est: collections - document - hashmaps. Par exemple:

utilisateurs - le nom de la collection

utilisateurs.uid - le nom du document

Hashmap le document se compose de beaucoup de hashmaps les données de l'utilisateur
Hashmap
Hashmap
etc

Hashmap: le nom de l'utilisateur est la clé et le téléphone, localisation, etc sont les valeurs. J'ai besoin de mettre à jour un seul champ(emplacement) pour un nom d'utilisateur, mais ne peut pas comprendre comment le faire?

J'ai essayé la manière suivante (mise à jour numéro de téléphone pour alex):

User user = new User();
user.setPhone(131902331);

Map<String,RealmObject> userMap = new HashMap<>();
userMap.put("alex",user);

          mFirebaseFirestore
                  .collection("users")
                  .document(mFirebaseAuth.getUid())
                  .set(userMap, SetOptions.merge())
                  .addOnSuccessListener(new OnSuccessListener<Void>() {
                      @Override
                      public void onSuccess(Void aVoid) {
                          LOG.info("Success");
                      }
                  })
                  .addOnFailureListener(new OnFailureListener() {
                      @Override
                      public void onFailure(@NonNull Exception e) {
                          LOG.error("Failure "+e.toString());
                      }
                  });

Ce que je fais de mal?

Auriez-vous l'esprit en montrant la structure des Documents de l'Utilisateur, j'.e: les champs et les clés de ce qu'ils ont?

OriginalL'auteur Delphian | 2017-12-12