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

用map设计多对多模型

荆树
2023-03-14

我是第一次接触火恢复,我想知道是否有人能告诉我这个解决方案是否适用于多对多的关系。我有一个名册的集合和学生的集合,这是相关的多对多。因为我最经常需要的关于学生的信息只是他们的名字,所以有一张像{

我是根据这个答案来解决问题的。

我将非常感谢任何建议!谢谢你们

共有1个答案

蒲魁
2023-03-14

更新到这一点,它工作正常。这是我的云函数代码,如果将来有人需要,可以更新运动员的名字:

export const onUserUpdate =
functions.firestore.document("users/{user}/athletes/{athlete}").onUpdate(
    async (change) => {
      const after = change.after.data();
      const before = change.before.data();
      const bid = change.before.id;
      console.log("BID: ");
      console.log(bid);

      const userId: any = change.before.ref.parent.parent?.id;
      console.log(`users/${userId}/rosters`);
      if (after.athleteName != before.athleteName) {
        console.log("Change name detected");
        const snapshot =
      await db.collection(
          `users/${userId}/rosters`).where(
          `athletes.${bid}`, ">=", "").get();

        const updatePromises : Array<Promise<any>> = [];
        snapshot.forEach((doc) => {
          console.log(doc.id);
          updatePromises.push(db.collection(`users/${userId}/rosters`)
              .doc(doc.id).update(`athletes.${bid}`, after.athleteName)
          );
        });

        await Promise.all(updatePromises);
      }
    });
 类似资料:
  • 问题内容: 最初,我的数据库中有两个表[Property]和[Employee]。 每个雇员可以有一个“家庭财产”,因此雇员表中有一个“财产”的HomePropertyID FK字段。 后来,我需要对这种情况进行建模,即尽管员工只有一个“房屋财产”,但确实在多个财产上工作或涵盖了多个财产。 因此,我创建了一个[Employee2Property]表,该表具有EmployeeID和PropertyI

  • 问题内容: 我正在开发一个处理以下两个实体的应用程序: 产品 (将其命名为X,Y,Z)和 材料 (a,b,c,…)。众所周知,每种产品都有一个配方,指示制造该产品所需的材料。例如,要产生一个X,我们需要2 a,6 c和4 d(X = 2a + 6c + 4d)。 这就是它在数据库表中的反映方式: 第三张表中的“计数”字段是同类材料(本例中为2、6、4)的系数。 所以我想以这种方式编写Product

  • 基于SO上的各种线程(例如。用模式替换if else语句)我知道我可以用< code>Command模式替换多个if\else语句。 我的情况有点不一样。 我有一系列,只有当前一个命令不成功时,我才需要执行每个。 例如,假设我需要从一个假设的网页中检索文本——我可以使用屏幕抓取直接从页面中抓取文本,也可以从API中获取文本。如果屏幕抓取不成功,我只想从API获取文本。换句话说,如果“scrap”命

  • 问题内容: 例如,如果我的数据库中有以下表格,并且“学生和课程”具有多对多关系。 现在,如果我的模型如下 和 所以我的问题是,如果我仅创建这两个bean,我会遇到什么样的问题?我将面对什么样的问题以及在哪种情况下?并请为这么多对多的关系指定正确的bean结构。 问题答案: 您会遇到什么问题: 您将无法看到“学生-课程”关联 您将无法从课程导航到该课程的学生(反之亦然) 如果学生/课程表中有学生/课

  • 问题内容: 任何人都可以解释在设计带有示例的表时如何实现一对一,一对多和多对多关系吗? 问题答案: 一对一: 使用外键访问被引用的表: 您还必须在外键列()上设置唯一约束,以防止子表()中的多行与引用表()中的同一行相关。 一对多 :在关系的许多方面使用外键链接回“一个”侧: 多对多 :使用联结表(例如): 查询示例:

  • 我很难模拟这种情况。我在设计一个基于位置的优惠券系统。用户可以定义区域和优惠,然后将每个优惠关联到多个区域。此外,每个区域可以有多个优惠。所以zone和offer有很多对很多的关系。用户实体拥有这两个实体。只有在同一用户拥有区域和优惠的情况下,才能将它们关联起来。图表会很有帮助。多谢了。