【问题标题】:Flutter Firestore Error: MissingPluginException(No implementation found for method DocumentReference#updateDataFlutter Firestore 错误:MissingPluginException(找不到方法 DocumentReference#updateData 的实现
【发布时间】:2020-10-11 15:18:09
【问题描述】:

我正在尝试更新文档并不断收到此错误:

ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: MissingPluginException(No implementation found for method DocumentReference#updateData on channel plugins.flutter.io/cloud_firestore

这就是我想要做的:

Firestore.instance.collection('myCollection').document(documentID).updateData({"fieldName": FieldValue.arrayUnion(newValue)});

我正在使用这个版本的 Firebase 和 Firestore

cloud_firestore: ^0.13.7
firebase_storage: ^3.1.6

我尝试按照此处的建议运行 flutter cleanflutter packages getI/flutter (22027): MissingPluginException(No implementation found for method DocumentReference#setData on channel plugins.flutter.io/cloud_firestore)。我什至尝试按照同一篇文章中的建议将multiDexEnabled true 添加到我的build.gradle 文件中;都没有用。

我注意到我的 build.gradle 文件有这个颤振版本:

def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
    flutterVersionCode = '1'
}

def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
    flutterVersionName = '1.0'
}

(不知道这是否与问题有关)

请帮忙!

谢谢。

【问题讨论】:

    标签: firebase flutter


    【解决方案1】:

    原来错误与错误消息没有任何关系。

    问题是我的变量newValue 不是一个列表。我通过改变解决了这个问题

    Firestore.instance.collection('myCollection')
         .document(documentID)
         .updateData({"fieldName": FieldValue.arrayUnion(newValue)});
    

    到这里:

    Firestore.instance.collection('myCollection')
         .document(documentID)
         .updateData({"fieldName": FieldValue.arrayUnion([newValue])}); //The change is in this line
    

    【讨论】:

      猜你喜欢
      • 2020-05-11
      • 1970-01-01
      • 2021-07-18
      • 2021-04-23
      • 2020-09-15
      • 2021-05-30
      • 2021-02-01
      • 1970-01-01
      • 2022-08-18
      相关资源
      最近更新 更多