当前位置: 首页 > 知识库问答 >
问题:

如何在FiRecovery编码中将集合添加到文档中?

蒋健
2023-03-14

我有一个应用程序,当用户注册时,我使用此功能在我的数据库中使用FiRecovery创建一个集合。

const createUser = async ( collection , data ) => {
    //adding data to a collection with automatic id
     )
    await setDoc( 
      doc( firestore, collection, data.id) , data )
      
    //console.log( ref.id )
  }

因此,当用户注册时,我通过以下操作创建一个具有自动生成id的集合:

const SignupHandler = ( email, password, username ) => {
    setSignupError(null)
    createUserWithEmailAndPassword( FBauth, email, password )
    .then( ( userCredential ) => { 
      createUser('users', {id: userCredential.user.uid, email:userCredential.user.email, displayName:username})
      console.log(username)
      console.log(userCredential)
      setUser(userCredential)
      setAuth( true )
    } )
    .catch( (error) => { setSignupError(error.code) })
  }

现在,我想在名为“tasks”的用户中创建一个文档,并添加一个自动id、一个名称和一个日期。我该怎么办,我四处寻找,却找不到解决办法。db的结构将是集合用户-文档用户(用户id名称和邮件)-集合“任务”-任务文档(id名称和日期)

共有1个答案

赫连明诚
2023-03-14

当您向收藏中添加第一个文档时,将自动创建该收藏集。

如果您想指定文档ID,那么您需要这样做,

db.collection('users').doc(user).collection(‘tasks’).doc(task).set({ id : this.id, name : this.name, date : this.date})

如果你想让云Firestore自动为你生成一个ID。您可以通过调用add()来实现这一点:

db.collection('users').doc(user).collection(‘tasks’).add({id: this.id, name: this.name, date: this.date })

此页详细说明了如何将数据添加到Cloud FiRecovery

还可以进行 REST API 调用,以创建指向文档的路径,该文档具有项目YOUR_PROJECT_ID下集合中的 ID。为此,您将使用以下结构:

/projects/YOUR_PROJECT_ID/databases/(default)/documents/cities/LA

要与此路径进行交互,请将其与基本 API URL 结合使用,以创建 ID 为 LA 且集合名称为“城市”的文档的路径,https://firestore.googleapis.com/v1/projects/YOUR_PROJECT_ID/databases/(默认)/文档/城市/LA

要创建Firestore嵌套集合,还可以使用本文档中提到的HTTP POST请求。要详细了解如何通过指定路径参数parent和collectionID添加集合和文档的过程,请遵循以下线索。

 类似资料:
  • 我们在Google Firestore中有一个收藏。 我们是否可以在一条语句中添加一个包含数据的文档和此新文档下的子集合?

  • 问题内容: 没有关于如何在Firestore中的文档中添加子集合,如何使用Web应用程序添加子集合的文档? 甚至像这样尝试过,但没有奏效。如何使用代码在应用程序中添加子集合?有什么办法可以做到,还是使用Firebase实时数据库会更好?如果是这样,请让我知道如何在Firebase中执行此操作,我也想这样添加, 但我却收到这样的错误,错误说明了这一点 问题答案: 如果更改为,您的代码应该可以工作。然

  • 是否有方法获取将文档添加到集合后生成的文档id? 如果我将文档添加到代表社交媒体软件中“帖子”的集合中,我想获取该文档ID并将其用作不同集合中另一个文档中的字段。 如果我无法获取添加文档后生成的文档Id,我是否应该计算一个随机字符串,并在创建文档时提供Id?这样我就可以使用与其他文档中的字段相同的字符串了? 快速结构示例:

  • 我正在尝试循环浏览一个列表,将每个项目添加到google firestore文档中。然而,我面临的问题是,只有列表中的最后一项被添加到文档中。 注意:行打印(“=====$i POST成功添加==”)按预期增量打印5次 问题:如何使此循环将所有项目添加到firestore文档?

  • 如何使用JavaScript获取Firebase Firestore子集合“userPosts”中的所有文档?你可以在下面的图片中看到我的数据库结构。 以下是我尝试过的: 这段代码应该做的是获取子集合“userPosts”中的文档。它应该进入集合“posts”中的每个文档,然后进入“userPosts”并获取该子集合中的每个文档。 第一次收集“帖子” 子集合“userPosts”

  • 我被android firstore文档和子集合弄糊涂了。 此示例将生成以下数据结构: 代码如下: 子集合和文档节点交替显示:a、c与b、d。 但是如何在没有d节点的情况下实现类似的数据结构(如下所示): 自。add方法仅适用于document而不适用于collection,我们不能只删除d(document),因为c(collection)没有add方法。 我应该如何修改我的代码?