Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Firestore v9 update specific object inside an array

Hello guys I have a structure like this:

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

I want to update for example points in the apps[0] array in firestore v9 how can I preform this
I tried something like dot notation but it remove all other fields

    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
    });

also, I tried to remove the old one and add the updated one but I think this is not a good way to do this.

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

>Solution :

  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
    });
Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading