【问题标题】:Firebase v9 Firestore create document by id in React JSFirebase v9 Firestore 在 React JS 中按 id 创建文档
【发布时间】:2021-09-19 01:21:25
【问题描述】:

如何获取文档 ID?

我尝试使用 doc().id 但它不起作用,我该怎么做?

await addDoc(collection(db, 'users', currentUser.uid, 'proyects', doc().id, 'tasks'), {
            name: tarea,
            userUid: currentUser.uid,

        })

这是对 firestore 的捕获,我想获取 proyects 集合中每个文档的 doc id。然后在每个文档中创建一个名为 tasks 的集合。

【问题讨论】:

  • 是什么决定了它进入哪个文档?或者您是否将新数据应用于proyects 集合中的所有文档?集合也只有在它们包含数据时才会被创建。
  • @samthecodingman 哦,是的,我想将带有数据的“任务”集合添加到所有项目中。换句话说,“projects”集合中的所有文档,都将在“tasks”集合中包含相同的数据。另外,如何为项目集合中的特定文档创建集合?

标签: javascript firebase google-cloud-firestore


【解决方案1】:

如果打算使用 doc().id 自动创建新文档 ID,您可以使用:

const userProjectsColRef = collection(db, 'users', currentUser.uid, 'projects');
const newProjectDocRef = doc(userProjectsColRef);
addDoc(collection(newProjectDocRef, 'tasks'), {
  /* ... data ... */
});

这是因为第一个参数必须存在并且它必须是FirestoreCollectionReferenceDocumentReference 的实例。要使用自动生成的 ID,您必须传入 CollectionReference

【讨论】:

  • 我的想法是获取文档的 id 并在文档中添加一个名为“tasks”的集合。我用一张照片编辑我的问题,其中包含我正在寻找的更多细节:)
猜你喜欢
  • 1970-01-01
  • 2022-01-18
  • 2018-07-06
  • 1970-01-01
  • 2022-06-11
  • 1970-01-01
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多