最近很多小伙伴都在问从Flutter中的Firestore查询单个文档和cloud_firestore插件这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展CloudFirestor
最近很多小伙伴都在问从Flutter中的Firestore查询单个文档和cloud_firestore插件这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Cloud Firestore - 范围查询 - 使用游标对数据进行分页 - Flutter、Cloud Firestore Blaze计划是否存在未知的配额限制? Flutter Firestore应用程序每天掉下悬崖、Cloud Firestore 上的 Flutter Streambuilder - 基础库捕获异常、Firebase Firestore API不适用于Flutter等相关知识,下面开始了哦!
本文目录一览:- 从Flutter中的Firestore查询单个文档(cloud_firestore插件)(flutter search)
- Cloud Firestore - 范围查询 - 使用游标对数据进行分页 - Flutter
- Cloud Firestore Blaze计划是否存在未知的配额限制? Flutter Firestore应用程序每天掉下悬崖
- Cloud Firestore 上的 Flutter Streambuilder - 基础库捕获异常
- Firebase Firestore API不适用于Flutter
从Flutter中的Firestore查询单个文档(cloud_firestore插件)(flutter search)
我只想通过其ID 检索 单个文档的 数据。我的示例数据方法:
TESTID1 { ''name'': ''example'', ''data'': ''sample data'',}
是这样的:
Firestore.instance.document(''TESTID1'').get() => then(function(document) { print(document(''name''));}
但这似乎不是正确的语法。
我找不到 有关 在flutter(飞镖)中 查询firestore的任何详细文档,
因为firebase文档仅解决了本机WEB,iOS,Android等问题,而没有解决Flutter。cloud_firestore的文档也太短了。只有一个示例显示了如何将多个文档查询到流中,这不是我想要的。
有关缺少文档的相关问题:https :
//github.com/flutter/flutter/issues/14324
从单个文档中获取数据并不难。
更新:
Firestore.instance.collection(''COLLECTION'').document(''ID'').get().then((DocumentSnapshot) => print(DocumentSnapshot.data[''key''].toString()););
不执行。
答案1
小编典典但这似乎不是正确的语法。
这是不正确的语法,因为您错过了collection()
通话。您无法document()
直接致电Firestore.instance
。要解决此问题,您应该使用以下方法:
var document = await Firestore.instance.collection(''COLLECTION_NAME'').document(''TESTID1'');document.get() => then(function(document) { print(document("name"));});
或者以更简单的方式:
var document = await Firestore.instance.document(''COLLECTION_NAME/TESTID1'');document.get() => then(function(document) { print(document("name"));});
如果要实时获取数据,请使用以下代码:
Widget build(BuildContext context) { return new StreamBuilder( stream: Firestore.instance.collection(''COLLECTION_NAME'').document(''TESTID1'').snapshots(), builder: (context, snapshot) { if (!snapshot.hasData) { return new Text("Loading"); } var userDocument = snapshot.data; return new Text(userDocument["name"]); } );}
它还将帮助您将名称设置为文本视图。
Cloud Firestore - 范围查询 - 使用游标对数据进行分页 - Flutter
如何解决Cloud Firestore - 范围查询 - 使用游标对数据进行分页 - Flutter?
似乎无法在 Cloud Firestore 中查询数据范围。
我想做的是以下(参考: https://firebase.google.com/docs/firestore/query-data/query-cursors)
citiesRef.orderBy("population").startAt([1000000]).endAt([2000000]);
不幸的是,这不适用于非复合查询。
以下是一些示例,说明哪些对我有效,哪些无效。
示例 1 - wherenotin + orderBy
collection.where(''user.id'',wherenotin: blackList).orderBy(''user.id'').orderBy(''user.age'')
这是有效的并且给了我:id1 29 岁,id2 33 岁,符合预期。
示例 2 - orderBy + startAt + endAt
collection.orderBy(''user.age'').startAt([28]).endAt([31]);
这是有效的并且给了我:id1 29岁。
示例 3 - wherenotin + orderBy + startAt + endAt
collection.where(''user.id'',wherenotin: blackList).orderBy(''user.id'').orderBy(''user.age'').startAt([28]).endAt([31]);
这不起作用。我希望得到:id1,年龄 29 但我没有得到任何结果。
我的猜测是 startAt 和 endAt 不适用于非复合查询。我希望是错的。如果您有机会亲自尝试,请告诉我。
NB1:如果您想知道,在 Flutter 中 startAt() 和 endAt() 方法中的方括号是必需的,因为这些方法需要一个值列表。我目前的 Flutter 版本是 Flutter 2.4.0-4.0.pre。
干杯
解决方法
您可以单独运行 whereNotIn 和 startAt()/endAt(),但是当您在组合查询中执行此操作时,startAt() 和 endAt() 采用 FIRST orderBy()。也就是说,在这种情况下,它采用 user.id 的值。由于您的 user.id 没有值“28”和“31”,因此不会返回任何结果。
,试试这个查询,如果这对你有用 collection.whereNotIn(''user.id'',blackList).orderBy(''user.id'').orderBy(''user.age'').startAt([28]).endAt([31]);
Cloud Firestore Blaze计划是否存在未知的配额限制? Flutter Firestore应用程序每天掉下悬崖
如何解决Cloud Firestore Blaze计划是否存在未知的配额限制? Flutter Firestore应用程序每天掉下悬崖?
我有一个Flutter / firestore应用程序,它每天都掉在看不见的悬崖上。一切正常,然后突然当我停止对所有用户工作的那一天达到10万次读取时。我采用的是Blaze计划,但我知道这没有每日限制。没有引发任何错误,只是根本行不通。
控制台内是否存在另一个需要充分利用Blaze计划的设置?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
Cloud Firestore 上的 Flutter Streambuilder - 基础库捕获异常
如何解决Cloud Firestore 上的 Flutter Streambuilder - 基础库捕获异常?
在 cloudfirestore 上使用流构建器时出现异常。 你有什么想法是什么原因吗?
======== 基础库捕获异常 ================================== ================== 为 DataList 分派通知时抛出以下断言: 在构建期间调用 setState() 或 markNeedsBuild()。
无法将此 _InheritedProviderScope 小部件标记为需要构建,因为框架已在构建小部件的过程中。仅当其祖先之一当前正在构建时,才可以将小部件标记为需要在构建阶段构建。允许此异常是因为框架在子级之前构建父级小部件,这意味着将始终构建脏后代。否则,框架可能不会在此构建阶段访问此小部件。
调用 setState() 或 markNeedsBuild() 的小部件是:_InheritedProviderScope
值:“DataList”的实例
聆听价值
进行违规调用时当前正在构建的小部件是:StreamBuilder
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
Firebase Firestore API不适用于Flutter
我认为您应该使用'GET'
请求而不是'POST'
,因为这就是浏览器的作用。
var response = await http.get(
'https://firestore.googleapis.com/v1beta1/projects/weathersense-daa83/databases/(default)/documents/weather_data/latest_data');
print(response);
print(response.body);
今天关于从Flutter中的Firestore查询单个文档和cloud_firestore插件的讲解已经结束,谢谢您的阅读,如果想了解更多关于Cloud Firestore - 范围查询 - 使用游标对数据进行分页 - Flutter、Cloud Firestore Blaze计划是否存在未知的配额限制? Flutter Firestore应用程序每天掉下悬崖、Cloud Firestore 上的 Flutter Streambuilder - 基础库捕获异常、Firebase Firestore API不适用于Flutter的相关知识,请在本站搜索。
本文标签: