Stack Overflow em Português Asked by Lima on September 26, 2021
tenho um projeto angular e estou usando o firebase como um banco de dados, porem estou com dificuldades para acessar uma coleção que está dentro de uma outra coleção. O meu projeto no firebase está assim:
colection(usuarios) == documentos(1″ 1 é o token pois so tem um user cadastrado la”) e dentro desse usuário com o token 1 eu tenho outra colection com o nome de (publicacoes) que dentro dela contem as publicações desse usuário. Como eu consigo acessa essa Colection pelo meu cod.
cod
meu servico que eu estou usando para testar:
import { Injectable } from '@angular/core';
import { AngularFirestore } from '@angular/fire/firestore';
@Injectable()
export class TestService {
constructor(private firestore: AngularFirestore) { }
criar_novo_user(record) {
return this.firestore.collection('usuarios').add(record);
}
carregar_todos_usuarios() {
return this.firestore.collection('usuarios/').snapshotChanges();
}
}
meu componente onde estou usando esse serviço:
import { Component, OnInit } from '@angular/core';
import { FeedService } from './feed.service';
import { Publicacao } from './publi/publi.model';
import { TestService } from '../test.service';
@Component({
selector: 'app-feed',
templateUrl: './feed.component.html',
styleUrls: ['./feed.component.css']
})
export class FeedComponent implements OnInit {
teste
constructor(private testeService: TestService) { }
ngOnInit(){
this.testeService.carregar_todos_usuarios().subscribe(data => {
this.teste = data.map(object => {
return{
token: object.payload.doc.id,
id: object.payload.doc.data()['id'],
user: object.payload.doc.data()['user'],
nome: object.payload.doc.data()['nome'],
imagePerfil: object.payload.doc.data()['imagePerfil'],
seguidores: object.payload.doc.data()['seguidores'],
seguindo: object.payload.doc.data()['seguindo'],
bios: object.payload.doc.data()['bios'],
totalPublicacoes: object.payload.doc.data()['totalPublicacoes']
};})
console.log(this.teste);
})
}
}
Você tem que fazer um for
ao receber os usuários, assim:
firebase.firestore().collection('usuarios').get().then((docData) => {
docData.docs.map((e, i, a) => {
const collectionPublicacoes = firebase.collection('usuarios').doc(e.id);
collectionPublicacoes.get().then((res) => {
res.docs.map((el, in, ar) => {
console.log(el.data());
});
});
});
});
Answered by Saulo Souza on September 26, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP