子集合ID

时间:2019-11-11 11:54:24

标签: reactjs firebase google-cloud-firestore

我希望用户拥有项目,并且我希望项目具有由我的功能创建的id。然后创造一个条件并显示一个项目。

会生成此错误,如果我离开auto id创建,那么一切都很好

 try {
 my function
     let id = new Date().valueOf();

    const res = await firestore
      .collection("Projects")
      .doc(userId).collection("project")
      .get();

   

    if (!res.data()) {
      firestore
        .collection("Projects")
        .doc(userId)
        .collection("project").doc(id)//my func id
        .add({
        
        data
        });
    } else {
      firestore
        .collection("Projects")
        .doc(userId)
        .collection("project").doc(id)//my func id
        .update({
        ...res.data().project, data
        });
    }

enter image description here

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:2)

如果要使用自定义ID创建它,则需要使用.set()而不是.add()。基本上,我认为这样您将覆盖自定义分配的ID。应该是这样的:

firestore
    .collection("Projects")
    .doc(userId)
    .collection("project").doc("YOUR_CUSTOM_ID")
    .set({

    data
    });

您可以在official documentation中找到有关添加数据的更多信息。