如何一次将多个文档添加到 Firestore 中的一个集合中?

How do you add multiple documents at once to a collection in Firestore?

我对 Firebase 比较陌生,希望能够在一次操作中将多个 JSON 对象写入随机 ID 下的集合中。我只是在使用 firestore 和 auth(未显示)以及 React。

到目前为止我有

Function TestDocs () {
    {addDoc(collection(db, 'randomData'),  {**object 1 example data**},{**object 2 more example data**}
   )
}

我在网页上有一个按钮,可以将数据添加到数据库中。当我检查 Firestore 时只加载了第一个对象而不是第二个...除此之外,假设我想添加数百个对象(不仅仅是 2 个),我将如何处理?

我正在查看 Firestore 批量写入的文档,但它只将 set()、update() 和 delete() 列为允许的操作,所以我不确定它是如何工作的。提前致谢

您需要分两步完成此操作:

  1. 使用新的唯一 ID 创建对新文档的引用:

    // Generate two new document references with a generated ids
    const newRef1 = doc(collection(db, "randomData"));
    const newRef2 = doc(collection(db, "randomData"));
    
  2. 在您的 batch or transaction 中写入该引用。

另见:

  • (其中包含用于执行相同操作的旧命名空间语法)。
  • adding a document 文档中的最后一个片段展示了这种方法。

我找到了另一种不使用 Firebases 批处理功能的方法。每个事务或批量写入最多可以写入 500 个文档。我想用 500 多个更新我的应用程序,并在 YouTube 上找到了一个显示另一种方法的视频。

我不得不稍微调整脚本以获得我需要的东西,但想法就在那里。

https://www.youtube.com/watch?v=Qg2_VFFcAI8