我正在尝试在有一个集合时访问数据,并在该集合内添加一个文档,然后在该文档内再次添加一个集合。
但我无法做到。
getTeams() {
this.db
.doc('epicseven')
.collection('teams')
.snapshotChanges()
.subscribe(data => {
console.log(data);
});
}
这是数据库。
我想使用最后一个数组访问JSON,因此可以在html中进行迭代。
感谢您的帮助。
答案 0 :(得分:1)
我认为您一开始就误认为文档的集合。 'epicseven'是一个集合。集合始终是文档之后,并且在文档内部,有对集合的引用或值本身。除了您没有足够深入地获取所需数据外,我猜您查询将仅获得团队集合的名称,因为默认情况下Firestore查询是浅的。我建议以下查询:
getTeams() {
this.db
.collection('epicseven')
.doc('teams')
.collection([TEAM_NAME])
.doc([ID])
.valueChanges()
.subscribe(data => {
console.log(data);
});
}
答案 1 :(得分:1)
使用它。
getTeams() {
this.db
.collection('epicseven')
.doc('teams')
.collection([TEAM_NAME])
.doc([ID])
.snapshotChanges()
.pipe(map(list => list.map(item => {
let data = item.payload.doc.data();
let id = item.payload.doc.id;
return { id, ...data }
}))).subscribe(res => {
console.log(res);
});
}