gpt4 book ai didi

flutter - 如何通过Flutter中的云功能从Firestore获取documentSnapshot?

转载 作者:行者123 更新时间:2023-12-03 04:59:27 25 4
gpt4 key购买 nike

首先,我需要获取documentSnapshot,不仅要获取Firestore中记录的数据,因为我的应用程序中有分页功能,并且要这样做,当您查询时,您需要从您的位置发送最后一个documentSnapshot查询将发送10条下一条记录。

因此,这可以很好地与SDK配合使用,但是我现在想实现Cloud Functions,并且当我尝试通过cloud函数响应documentSnapshot时,无法在Flutter中获取documentSnapshot。

这是问题所在的代码部分:

final function = _cloudFunctions.getHttpsCallable(
functionName: 'createRecord',
);
try {
final response = await function.call(data);
final DocumentSnapshot doc = response.data;
return doc;
} catch (e) {
print(e)
return null;
}

这段代码我得到了错误:类型'_InternalLinkedHashMap'不是类型'DocumentSnapshot'的子类型

是否有解决方法,或者我做错了什么?

最佳答案

来自可调用的Cloud Function的响应不会是强类型的DocumentSnapshot。这就是错误消息试图告诉您的内容。您将获得一个 map 类型对象,并且您必须像这样处理该对象。您不能仅仅强制它成为DocumentSnapshot。

如果将可调用函数用作分页工具,则将无法在客户端和函数之间来回传递DocumentSnapshot对象。您将必须传递该函数足够的信息以进行分页而不提供DocumentSnapshot。

分页实际上并不需要DocumentSnapshot-您所需要的是足够的信息来告诉查询从上次停止的地方开始,如documentation所示。这涉及使用startAt或startAfter,使用最后看到的文档中的信息。

关于flutter - 如何通过Flutter中的云功能从Firestore获取documentSnapshot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59899218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com