对象值"/>
更新Firestore中文档内的对象值
我想更新文档中的对象。
如您在上图中的[[TransactionMap下看到的那样,其中存在[[Deposit对象,并且在内部存在一个具有键值对的对象。所以我想继续在Deposit Object字段内添加对象。现在,当我尝试更新它时,正在发生的事情被新的替换,没有更新。这是代码:
const transactionMapDocRef = db
.collection("users")
.doc(paymentData.notes[0])
.collection("Transactions")
.doc(currentDate);
try {
const doc = await transactionMapDocRef.get();
if (!doc.exists) {
console.log("No such document!");
transactionMapDocRef.set({
TransactionMap: {
Deposit: {
[paymentData.notes[1]]: data,
},
},
});
console.log("Successfully saved");
return res.status(200).json({ message: "Successfully saved" });
} else {
transactionMapDocRef.update({
TransactionMap: {
Deposit: {
[paymentData.notes[1]]: data,
},
},
});
console.log("Successfully Updated");
return res.status(200).json({ message: "Successfully Updated" });
}
} catch (err) {
console.log("Error getting document", err);
return res.status(500).json({
message: "Something went wrong!",
});
}
请帮助。谢谢
回答如下: transactionMapDocRef.set({
TransactionMap: {
Deposit: {
[paymentData.notes[1]]: data,
},
},
});
它将替换整个文档,您将需要使用update()
和Firstore的点符号来表示您要更改的特定字段值。
transactionMapDocRef.update({
`TransactionMap.Deposit.${paymentData.notes[1]}`: data
});
更多推荐
更新Firestore中文档内的对象值
发布评论