Javascript 增量计数器firestore vue

Javascript 增量计数器firestore vue,javascript,firebase,vue.js,google-cloud-firestore,Javascript,Firebase,Vue.js,Google Cloud Firestore,我的firebase中有一个属性,在添加注册时需要增加该属性。添加注册是有效的,但我似乎不知道如何在注册发生时动态地增加数量。 我的初始代码是: countExperience() { db .collection("experiences") .doc(this.$route.params.experience_id) .update({ quantity: + 1 }) .then(docRef => { console.log("add

我的firebase中有一个属性,在添加注册时需要增加该属性。添加注册是有效的,但我似乎不知道如何在注册发生时动态地增加数量。 我的初始代码是:

countExperience() {
  db
    .collection("experiences")
    .doc(this.$route.params.experience_id)
    .update({ quantity: + 1 })
    .then(docRef => {
      console.log("added quantity");
    });
},
我的问题是“更新”不起作用,它基本上是将值设置为1,而不是递增

这是工作代码:

countExperience() {
  const exp_ref = db.collection("experiences").doc(this.$route.params.experience_id)

  return db.runTransaction(t => {
    return t.get(exp_ref).then(doc => {
      const newCount = doc.data().quantity +1
      t.update(exp_ref, {quantity: newCount})
    })
  })
},

您需要从文档中读取
quantity
的值,将其递增,然后将其写回。您现在拥有的只是在文档中写入值,而没有先读取它


您通常会希望这样做,以便以事务的方式进行所有操作。

我确实尝试过这样做,但当时可能写得不对这是我尝试遵循的示例: