Récupérer les noms de sous-collections à partir d'un document dans Cloud Firestore est une tâche courante lorsque l'on travaille avec des structures de documents complexes. Bien que cela puisse sembler une opération simple, elle n'est actuellement pas prise en charge dans les SDK client pour les plates-formes Web et mobiles.
Selon la documentation officielle, récupérer les noms de sous-collections directement à partir du client Les SDK ne sont pas réalisables. La documentation indique explicitement que cette fonctionnalité doit être réservée aux environnements de serveurs de confiance où des tâches administratives sont effectuées.
La principale raison de cette limitation est la sécurité. Les noms de sous-collections peuvent être des informations sensibles, et autoriser un accès direct à ceux-ci dans les SDK clients pourrait présenter des risques de sécurité.
Si vous devez répertorier les sous-collections dans un document à l'aide Pour les SDK côté serveur, tels que Node.js, vous pouvez utiliser la méthode ListCollectionIds. Voici un exemple :
const {Firestore, Timestamp} = require('@google-cloud/firestore'); const firestore = new Firestore(); firestore.collection('rootCollection/aDocument/subCollection1').listCollections().then((collections) => { for (const collection of collections) { console.log(`Found subcollection: ${collection.id}`); } });
Étant donné que vous ne pouvez pas récupérer les noms de sous-collections directement dans les SDK clients, il est essentiel de concevoir votre structure de données en conséquence. Pensez à utiliser des conventions de dénomination prévisibles pour vos sous-collections afin de vous assurer de pouvoir les gérer efficacement sans avoir besoin de recherches directes.
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!