flutter fieldValue.increment(int)不会在Firestore抖动中递减该值

laik7k3q  于 2023-01-21  发布在  Flutter
关注(0)|答案(1)|浏览(99)

尝试到递减一个值在firestore.但是这下面的方法不工作.

int fastDur = -20;

void cancelHours() async {
  return usersRef.doc(firebaseAuth.currentUser!.uid).collection('posts')
    .orderBy('datePublished', descending: true)
    .limit(1).get().then((querySnapshot) {
  return querySnapshot.docs.forEach((element) {
    usersRef
        .doc(firebaseAuth.currentUser!.uid).collection('posts')
        .doc(element.reference.id)
        .update({"totalTime": FieldValue.increment(fastDur)});
    });
  });
 }

然而,如果我把'-20'放进方法FieldValue.increment(-20),那么它就可以工作了。但是正如你们所知道的,我不能硬编码它,因为fastDur有不同的值供用户选择。请帮助。

ujv3wf0j

ujv3wf0j1#

使用Firestore内置查询方法

await _firestore.collection("Customers").doc(_auth.currentUser!.uid)
      .collection("Cart").doc(productid).update({
    'Quantity': FieldValue.increment(-1),
  })

相关问题