web-dev-qa-db-fra.com

Comment ajouter un document avec un identifiant personnalisé à la mémoire (angulaire)

Existe-t-il une possibilité d'ajouter un document à la collection Firestore avec l'ID généré personnalisé, et non l'ID généré par le moteur Firestore.

Merci d'avance pour vos réponses.

15
Harvey Dent

Pour utiliser un identifiant personnalisé, vous devez utiliser .set, plutôt que .add

Cela crée un document avec l'ID "LA": 

db.collection("cities").doc("LA").set({
    name: "Los Angeles",
    state: "CA",
    country: "USA"
})

Ceci est tiré des documents officiels ici

38
Finlay Percy
this.afs.collection('[your collection]').doc('[your ID]').set([your document]);
4
Papa Kojo

Créer un nouveau document avec ID  

  createDocumentWithId<T>(ref: string, document: T, docId: string) {
    return this.afs.collection(ref).doc<T>(docId).set(document);
  }

EX: cet exemple avec take email comme identifiant du document

this.fsService.createDocumentWithId('db/users', {}, credential.user.email);
1
sun sreng

db.collection ("utilisateurs"). document (mAuth.getUid ()). set (utilisateur)

Ici, le nom de la collection est "users" et le nom du document est la UID de l'utilisateur

Ici, vous devez utiliser set pas add

private void storeData(String name, String email, String phone) {

    // Create a new user with a first and last name
    Map<String, Object> user = new HashMap<>();
    user.put("name", name);
    user.put("email", email);
    user.put("phone", phone);

    // Add a new document with a generated ID
    db.collection("users").document(mAuth.getUid()).set(user)
            .addOnSuccessListener(new OnSuccessListener<Void>() {
        @Override
        public void onSuccess(Void aVoid) {
            Toasty.success(context,"Register sucess",Toast.LENGTH_SHORT).show();
        }
    });
}
1
Deven Chavda