Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用随机生成的名称创建子集合(Firestore w/React-Redux)_Javascript_Firebase_Google Cloud Firestore_React Redux - Fatal编程技术网

Javascript 使用随机生成的名称创建子集合(Firestore w/React-Redux)

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结构:

集合(用户ID)-->document(courseID)-->subcollection(讲师eID)-->Q&A数组

其中userID、courseID和讲师eid都是firestore随机生成的值。通过firebase使用身份验证可以随机生成用户ID,下面的代码可以很好地使用随机courseID创建课程:

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为子集合生成一个随机名称,以避免有两个子集合具有相同名称的可能性。我将找出一个合理的命名约定,并将其实现到这个项目中。感谢道格·史蒂文森的建议和澄清。即使你只想要一个子集合,你仍然需要给它一个在你的应用程序中始终出现的名称。这很有意义。再次感谢道格!:)