Dans Cloud Firestore, les documents peuvent avoir des sous-collections, qui sont essentiellement des collections imbriquées dans un document. Pour récupérer les noms des sous-collections au sein d'un document, il existe différentes approches selon que vous utilisez un SDK côté client ou côté serveur.
SDK côté client
Dans les SDK côté client (par exemple, Web, iOS, Android), l'obtention d'une liste de noms de sous-collections n'est actuellement pas prise en charge. D'après la documentation Firestore :
Récupérer une liste de collections n'est pas possible avec les bibliothèques clientes mobiles/web. Vous ne devez rechercher les noms de collections que dans le cadre de tâches administratives dans des environnements de serveurs approuvés. Si vous estimez que vous avez besoin de cette fonctionnalité dans les bibliothèques clientes mobiles/Web, envisagez de restructurer vos données afin que les noms de sous-collections soient prévisibles.
SDK côté serveur
Activé d'un autre côté, les SDK côté serveur fournissent des méthodes pour récupérer les noms de sous-collections. Par exemple, dans le SDK Node.js, vous pouvez utiliser la méthode listCollectionIds :
const {Firestore} = require('@google-cloud/firestore'); const firestore = new Firestore(); const documentRef = firestore.doc('rootCollection/aDocument'); documentRef.listCollections().then((collections) => { const subcollectionNames = collections.map(collection => collection.id); console.log(subcollectionNames); // ['subCollection1', 'subCollection2'] });
Autres options
Si vous devez récupérer les noms de sous-collections dans un client -côté environnement, vous pouvez envisager les approches alternatives suivantes :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!