Javascript 使用随机生成的名称创建子集合(Firestore w/React-Redux)
我正在尝试制作一个类似于以下内容的firestore结构: 集合(用户ID)-->document(courseID)-->subcollection(讲师eID)-->Q&A数组 其中userID、courseID和讲师eid都是firestore随机生成的值。通过firebase使用身份验证可以随机生成用户ID,下面的代码可以很好地使用随机courseID创建课程:Javascript 使用随机生成的名称创建子集合(Firestore w/React-Redux),javascript,firebase,google-cloud-firestore,react-redux,Javascript,Firebase,Google Cloud Firestore,React Redux,我正在尝试制作一个类似于以下内容的firestore结构: 集合(用户ID)-->document(courseID)-->subcollection(讲师eID)-->Q&A数组 其中userID、courseID和讲师eid都是firestore随机生成的值。通过firebase使用身份验证可以随机生成用户ID,下面的代码可以很好地使用随机courseID创建课程: firestore.collection(authorId).add({ (...) 但是,我在尝试使用随机I
firestore.collection(authorId).add({
(...)
但是,我在尝试使用随机Id创建子集合时遇到了一些问题。起初,我尝试执行以下操作:
firestore.collection(authorID).doc(courseID).add({
(...)
但是.add()显然不适用于子集合。是否可以使用另一个函数来创建子集合?如果要将文档添加到子集合,则需要使用预先确定的名称来构建对该文档的引用,然后使用该引用添加()文档
firestore
.collection(authorID)
.doc(courseID)
.collection("name-of-your-subcollection")
.add({ ...})
我强烈建议不要在子集合中使用随机名称,因为以后您将很难找到和查询它们。我理解。对于我的特定应用程序,子集合的名称没有用处(因为查询将通过用户在react redux UI上选择讲座来完成,或者通过随机数生成器随机选择以进行测试)。我希望有一种方法可以让firestore为子集合生成一个随机名称,以避免有两个子集合具有相同名称的可能性。我将找出一个合理的命名约定,并将其实现到这个项目中。感谢道格·史蒂文森的建议和澄清。即使你只想要一个子集合,你仍然需要给它一个在你的应用程序中始终出现的名称。这很有意义。再次感谢道格!:)