如何使用生成的 ID 引用 Firestore 子集合

问题描述 投票:0回答:1

我希望引用 FireStore 中子集合中的项目。

我使用

addDoc
为创建的每个文档生成一个唯一的 ID。问题是,如果不知道文档的名称,我就无法访问文档的集合。每个文档都有一个唯一的文档,因此我不确定如何在我的表格中引用它。

function HomeQuestion8(){
const[rows, setRows] = useState([]);
const empCollectionRef = collection(db, 'users', "ID", "personalDetails" );



const [docs] = useCollectionData(empCollectionRef)
console.log(docs)
useEffect(()=> {
    getUsers()
}, [])

const getUsers = async() => {
    const data = await getDocs(empCollectionRef);
    // console.log(ydocs)
    setRows(data.docs.map((doc) => ({...doc.data(), id: doc.id})))
}

这是我的 Firestore 数据库的图像。数据结构如下:

集合:“用户” - >文档(生成ID) - >集合:“个人详细信息”

javascript firebase google-cloud-firestore
1个回答
0
投票

如果您想访问某个特定用户的个人详细信息,您将需要知道该用户(父)文档的文档 ID - 因此他们的文档位于

Users
集合中。

如果您不知道他们的文档 ID,但知道他们的电子邮件地址,您可以通过 使用查询找到该电子邮件地址的文档 ID。

如果您对用户一无所知,您所能做的就是访问所有用户的个人详细信息。为此,您可以使用集合组查询,它可以访问具有特定名称(即

personalDetails
)的所有集合中的文档。

© www.soinside.com 2019 - 2024. All rights reserved.