如何在firebase-flutter中为快照数据指定字段[重复]

Posted

技术标签:

【中文标题】如何在firebase-flutter中为快照数据指定字段[重复]【英文标题】:How to specify field for snapshot data in firebase-flutter [duplicate] 【发布时间】:2021-08-09 09:01:54 【问题描述】:

从我有posted 的上一个问题来看,我已经设法向所有设备发送推送通知。以前,我使用的是不同版本的插件:

firebase_core: ^1.0.1
cloud_firestore: ^1.0.1
firebase_dynamic_links: ^0.8.0

但是,我的 firebase 连接的兼容性存在一些问题,因为我需要更改

类路径'com.google.gms:google-services:4.3.5'

类路径'com.google.gms:google-services:4.3.8'

所以,由于兼容性问题,我也需要将插件的版本更改为

firebase_core: ^1.2.0
cloud_firestore: ^2.2.0

但是,更改版本后。我的一些代码不起作用。我关心的是如何使用snapshot.data() 指定我想调用的字段。以前,我使用的是snapshot.data()['token'],它工作正常。但是在我更改firebase_core 的版本后,我无法再次使用该方法。它声明的错误是:

错误:没有为类“Object”定义运算符“[]”。

“对象”来自“飞镖:核心”。尝试将运算符更正为现有运算符,或定义“[]”运算符。 'to': snapshot.data() ['tokenID'],

谁能帮我解决这个问题?提前谢谢你!你们很多人检查完整的代码here

【问题讨论】:

看到这个答案 - ***.com/a/67565026/13840864 【参考方案1】:

您可以将snapshot.data() 投射到如下所示的地图:

    (snapshot.data() as Map<String, dynamic>) ['tokenID']

查看 migration guide 以获得 cloud_firestore 2.0.0。

随着 withConverter 的发布,许多类/函数需要一个 额外的通用参数。在大多数情况下,类型推断应该采取 为您照顾迁移。但在某些情况下,您可能必须 自己指定通用参数。

【讨论】:

以上是关于如何在firebase-flutter中为快照数据指定字段[重复]的主要内容,如果未能解决你的问题,请参考以下文章

关于铁威马NAS的Snapshots快照功能的使用方法

如何在jmeter中为SOAP请求添加正确的签名

vsphere和vmware快照的不足之处

如何备份ebs快照中的数据?

Amazon AMI 和 EBS 快照有啥区别

空间数据库原理A04_CentOS虚拟机快照使用