首页 > 解决方案 > 从一个集合中获取与另一个集合文档具有匹配数据的文档

问题描述

我一直在尝试在我的应用程序的主屏幕上显示数据,如果登录的用户具有与我的“工作”集合匹配的数据,那么它应该在平面列表中显示与用户公司名称匹配的任何文档。

我要匹配的字段是“公司”。我有两个集合“用户”和“工作”都包含公司字段。

这是我目前所拥有的,它正在返回“工作”集合中的所有文档。

componentDidMount() {
  this.getjobs()
}


getjobs = async () => {
    try {
       const unsubscribe = await firebase.firestore().collection("jobs")
           .onSnapshot((querySnapshot) => {
                var _jobs = [];
                querySnapshot.forEach( (doc)=> {
                    const job = doc.data();
                    if(job.company = job.company){
                        _jobs.push({ ...job, id: doc.id });
                    }
                });
                console.log('---------state',this.state);
                this.setState({
                    jobs: _jobs
                })
            });
            this.setState({
                unsubscribe
            })

    } catch (e) {
        console.log('error cant get jobs', e);
    }
} 

在此处输入图像描述

我的第一家

用户集合

在此处输入图像描述

工作集合

在此处输入图像描述

标签: javascriptreact-nativegoogle-cloud-firestore

解决方案


推荐阅读