I a m Essayez d'obtenir la liste des documents dans les collections, mais ne pouvez pas obtenir de document, C'est du code ce que je suis essayé- `
SchoolCollection:{ 1st:{products:{}}, 2nd:{products:{}}, }
3 Réponses :
Première question que j'ai: vous passez dans un paramètre 'Nom de l'école' dans la fonction, puis Quelle erreur utilisez-vous votre sortie de console lorsque vous essayez cela? Avez-vous configuré vos autorisations Firestore pour autoriser les demandes? P>
Le schéma de base de données que vous avez affiché est déroutant, peut-être qu'un tir d'écran réel de votre configuration de la console Firebase pourrait être d'une utilisation plus utilisée. P>
modifier em> strong> p>
Pour obtenir des données pour une collection à l'aide de la Firestore, vous devez créer le chemin correct de la collection souhaitée. Dans votre exemple, faire quelque chose comme Disons que vous souhaitez obtenir tous les documents de la Sous-collection 'KitProducts'. Cela pourrait être réalisé en faisant Vous semblez travailler au domaine des auditeurs en temps réel sur la collection. S'il s'agit de votre intention, vous devez utiliser la fonction Plus de lecture: P>
this.db.collection (nom de l'école) code>. Le nom de l'école est-il réellement le nom de la collection, ou est-ce l'ID d'un document dans la collection? P>
this.db.collection (nom de l'école) .get () code> obtiendra tous les documents de cette collection. Remarque: Cela n'obtiendra aucune sous-collections! Em> Ce type de requête n'est pas pris en charge par FireBase au moment de la rédaction de cela. p>
this.db.collection (nom d'école + "/ 1er / kitproducts"). Obtenez () code>. Cela renvoie tous les documents de la Sous-collection 'KitProducts' 'qui résident dans le cadre d'un document avec ID' 1st 'dans la collection de noms d'école. Vous devez construire ces chemins afin de les interroger. p>
OnSnapshot () code>. Prenant l'exemple précédent, écrire quelque chose comme
this.db.collection (nom d'école + "/ 1er / kitproducts"). OnsnaShot () Code>. Dans ce cas, un événement sera émis à tout moment, un document dans la collection SUBPRODUCTS SUB est édité, supprimé ou ajouté. P>
Le paramètre de schoolname inclut le nom de la collection, je ne reçois aucune erreur dans la console ou lors de l'exécution de la méthode, ni M pour obtenir une sortie à ce sujet, modifiera la question avec Schema Capturehot
Question mise à jour avec Schema Snap, espérons que ces détails ajouteront une entrée pour la recherche de solutions
Merci pour les informations, mais cela ne fait pas que beaucoup d'aide, j'ai déjà parcouru ces liens, mais en mettant en oeuvre, tout en mettant en œuvre, je ne reçois pas de valeurs, si vous pouvez partager un morceau de code de travail, qui sera plus utile.
Je ne sais pas si vous en avez encore besoin, mais vous pouvez essayer d'essayer Le code devrait ressembler à quelque chose de similaire à celui-ci: P> CollectionGroup ('Nom of Collection') CODE>.
this.afs.collectionGroup('Users')
.valueChanges().subscribe(users => {
//this.userNames is an "Any" before my constructor.
this.userNames = users
//for loop allows me to get all the document's data
for (let i = 0; i < users.length; i++) {
//these const allow me to play with If conditionals
const userEmail = this.userNames[i].email;
const userRole = this.userNames[i].role;
if (userRole == "User") {
continue;
} else {
console.log(userEmail);
}
}
});
Vous pouvez essayer quelque chose comme: Après avoir obtenu les données et la créer une instance, vous pouvez refroidir ce code, pour le rendre plus lisible. J'espère que cela vous aidera! P> p>