Essayer de répertorier une collection de bases de données Firestore
P粉546179835
2023-08-24 23:19:00
<p>Je souhaite répertorier une collection de bases de données Firestore dans une application Ionic4, j'utilise donc le document de la section listCollection, j'ai donc appliqué l'exemple de code dans mon code : </p>
<pre class="brush:php;toolbar:false;">this.afs.firestore.listCollections().then(collections => {
pour (laisser la collection de collections) {
console.log(`Collection trouvée avec l'identifiant : ${collection.id}`);
}
});</pré>
<p>Voici mon constructeur : </p>
<pre class="brush:php;toolbar:false;">constructor(routeur privé : routeur,
afs privés : AngularFirestore,
fireauth privé : AngularFireAuth) { }</pre>
<p>J'obtiens cette erreur : erreur TS2339 : la propriété 'listCollections' n'existe pas sur le type 'Firestore'. </p>
<p>Je ne peux pas utiliser l'attribut listCollections car il se trouve dans la documentation en ligne... </p>
En fait, comme indiqué dans la documentation du SDK Firestore JS, il n'est pas possible de récupérer la liste des collections à l'aide des bibliothèques client mobile/web.
Cela s'applique non seulement à la collection racine de la base de données Firestore, mais également aux sous-collections de documents Firestore.il est possible d'utiliser l'API client Cloud Firestore Node.js. Ainsi, vous pouvez utiliser une fonction Cloud pour répertorier une collection de bases de données Firestore et appeler cette fonction cloud depuis le frontend.
Puisque vous allez appeler cette fonction cloud depuis votre application, nous utilisons laCallable Cloud Function .
Code de fonction CloudDocumentation de la fonction Cloud d'Angularfire.
Notez que cette méthode s'inspire de l'
article suivant sur la façon de lister toutes les sous-collections d'un document Cloud Firestore à l'aide du SDK JS. (Avertissement : je suis l'auteur)