Recherche de noms de sous-collections dans Cloud Firestore
Dans Cloud Firestore, vous organiserez souvent vos données dans une hiérarchie avec des documents et des sous-collections. La récupération des noms de sous-collections est essentielle pour naviguer dans cette structure de données.
Problème :
Récupérer les noms de sous-collections à partir d'un document peut sembler intuitif, mais ce n'est pas possible sur mobile et sur le Web. SDK clients. Lorsque vous récupérez un document avec get(), il renvoie uniquement les valeurs des champs, pas les noms de collections imbriquées.
Raison :
Les SDK clients de Firestore donnent la priorité à la sécurité et aux performances. . L'exposition des noms de sous-collections pourrait introduire des vulnérabilités potentielles et avoir un impact sur les performances.
Solution pour les SDK côté serveur :
Dans Node.js et d'autres SDK côté serveur, vous pouvez accéder noms de sous-collections à l’aide de la méthode Collection.listCollectionIds(). Cette méthode fournit un moyen sécurisé et performant de récupérer les noms de sous-collections dans un document.
Exemple :
const firestore = require('firestore.v1beta1'); const client = firestore.v1beta1({ // optional auth parameters. }); const formattedParent = client.anyPathPath("PROJECT", "DATABASE", "DOCUMENT", "ANY_PATH"); client.listCollectionIds({parent: formattedParent}).then((responses) => { const resources = responses[0]; for (var i = 0; i < resources.length; ++i) { // doThingsWith(resources[i]) } }) .catch((err) => { console.error(err); });
Cette solution fournit un moyen sécurisé et efficace de récupérer des sous-collections. noms dans les environnements côté serveur. Pour les clients mobiles et Web, vous devrez peut-être envisager des structures de données alternatives ou gérer soigneusement les noms de sous-collections.
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!