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
});
大家好,我有这样的结构:
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
});