Firestore v9 更新数组内的特定对象

Firestore v9 update specific object inside an array

大家好,我有这样的结构:

users {
  user {
    uid: "",
    apps: [
     {
      id: "",
      name: "",
      points: 0,
     },
     {
      id: "",
      name: "",
      points: 0,
     },
    ]
  }
}

我想更新 firestore v9 中 apps[0] 数组中的示例点,我该如何执行此操作 我尝试了点符号之类的东西,但它删除了所有其他字段

    const db = getFirestore();
    const ref = doc(db, 'users', uid);
    const matches = await getDoc(ref);
    if (!matches.exists()) return;
    return updateDoc(ref, {
      "apps.0.points": 50
    });

另外,我尝试删除旧的并添加更新的,但我认为这不是一个好方法。

  const db = getFirestore();
        const ref = doc(db, 'users', uid);
        const matches = await getDoc(ref);
        if (!matches.exists()) return;
        const docData = matches.data()
        docData.apps[0].points = 50
        return updateDoc(ref, {
          ...docData
    });