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.
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
this.afs.collection('[your collection]').doc('[your ID]').set([your document]);
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);
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();
}
});
}