Javascript 我可以阅读文档中的子集合和文档而不单独阅读吗?
我读过Firestore的一份文件。但是,此文档包含一个子集合(会话),其中包含许多文档。有没有办法读取文档及其子集合和子文档?把它们存放在州里? 目前,我只能看到已读文档的元素,而没有它的子集合和子文档。Javascript 我可以阅读文档中的子集合和文档而不单独阅读吗?,javascript,reactjs,firebase,react-native,google-cloud-firestore,Javascript,Reactjs,Firebase,React Native,Google Cloud Firestore,我读过Firestore的一份文件。但是,此文档包含一个子集合(会话),其中包含许多文档。有没有办法读取文档及其子集合和子文档?把它们存放在州里? 目前,我只能看到已读文档的元素,而没有它的子集合和子文档。 谢谢您可以使用以下查询语法访问文档的子集合:dbh.collection('Groups/{groupId}/users') 其中,{groupId}将是您的文档,用户将是子集合 然后可以将其存储在该组的状态中 有没有办法读取文档及其子集合和子文档 单凭一个查询是不可能的。您必须分别查询每个
谢谢您可以使用以下查询语法访问文档的子集合:
dbh.collection('Groups/{groupId}/users')
其中,{groupId}
将是您的文档,用户
将是子集合
然后可以将其存储在该组的状态中
有没有办法读取文档及其子集合和子文档
单凭一个查询是不可能的。您必须分别查询每个子集合
FixStar查询总是浅的,不考虑单个集合之外的文档。一般来说,模式如下:
componentDidMount(){
dbh.collection('Groups').get()
.then(querySnapshot => {
querySnapshot.forEach(doc => {
this.setState({
groups: [...this.state.groups,doc.data()],
})
})
})
}
您可以看到,您必须使用承诺将查询链接在一起,然后在一切可用后设置状态
dbh.collection('Groups').get()
.then(querySnapshot => {
querySnapshot.docs.map(snapshot => {
return dbh
.collection('Groups')
.doc(snapshot.id)
.collection('whatever')
.get()
})
})
.then(results => {
this.setState(...)
})