[英]Assigning a field name from a method to Firestore document
假設我有一個名為“用戶”的集合。 當有人點擊upvote按鈕時,我希望它用一個條目更新用戶文檔,該條目是他們正在查看的頁面中的slug。 但是,我不知道如何使用我的代碼完成它。
voteUp() {
const voteup_ref = db.collection("builds").doc(this.$route.params.slug)
const voteuser_ref = db.collection("users").doc(this.alias)
return db.runTransaction(t => {
return t.get(voteup_ref).then(doc => {
const newCount = doc.data().voteup + 1
const NewSlug = voteuser_ref
t.update(voteup_ref, {
voteup: newCount
})
t.update(voteuser_ref, {
NewSlug: 'voteup'
})
});
})
},
因此,如果有人正在查看帶有'my-awesome-comment'標題的頁面,我希望在用戶的文檔中輸入“my-awesome-comment”,其值為“voteup”。
實際發生的是它會像我期望的那樣在用戶文檔中寫入一個條目,但它輸入的字段名稱為“NewSlug”,其值為“voteup”而不是slug實際上是什么。
我究竟做錯了什么?
您編寫JSON對象的方式NewSlug
本身是屬性名稱,而不是使用其值。 要執行后者,您需要使用方括號表示法( []
):
let update = {};
update[NewSlug] = 'voteup';
t.update(voteuser_ref, update)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.