【问题标题】:FieldValue.increment for Cloud Firestore in FlutterFlutter 中 Cloud Firestore 的 FieldValue.increment
【发布时间】:2022-01-17 03:15:40
【问题描述】:

我正在使用 Flutter 和 Firebase Firestore 创建一个 Android 应用。 我想添加自今年 4 月以来在 Firebase 中明显可用的新 FieldValue.increment 功能,但我遇到了一个错误: The method 'increment' isn't defined for the class 'FieldValue'.

这是我尝试过的代码:

onTap: (){
  Firestore.instance.document('docRef').updateData({"numberOfDocs": FieldValue.increment(1)});
}

我只是一个初学者程序员,但是当我检查 field_value.dart 文件时,它缺少“增量”实现。 那么,说 Flutter 团队还没有实现这个功能是正确的答案吗?

我看过一个教程,其中在一些 .js 代码中已经使用了增量,但对我来说它不起作用。 https://www.youtube.com/watch?v=8Ejn1FLRRaw

【问题讨论】:

    标签: firebase flutter google-cloud-firestore


    【解决方案1】:

    version 0.10.0 开始,这已添加到cloud_firestore Flutter plugin

    您可以将FieldValue.incrementdouble(例如FieldValue.increment(1.0))或int(例如FieldValue.increment(2))一起使用。


    Here is the relevant pull request.

    如果有人在版本推送到 Pub 之前阅读此内容:该版本的链接将无法使用,但与此同时您可以使用 this Git commit,其中包含我所做的修复。

    【讨论】:

      【解决方案2】:

      据我在change log for FlutterFire 中看到的,增量运算符尚未添加。

      我添加了feature request to the repo

      【讨论】:

      【解决方案3】:

      导入的用户:

      import 'package:cloud_firestore/cloud_firestore.dart';
      

      对于增量:

      await FirebaseFirestore.instance.collection('post').doc(postId).update({"like": FieldValue.increment(1)});
      

      递减:

      await FirebaseFirestore.instance.collection('post').doc(postId).update({"like": FieldValue.increment(-1)});
      

      【讨论】:

        猜你喜欢
        • 2021-03-24
        • 1970-01-01
        • 1970-01-01
        • 2020-07-02
        • 2021-01-06
        • 2020-05-01
        • 2020-04-05
        • 2019-07-23
        • 1970-01-01
        相关资源
        最近更新 更多