Flutter Firestore尝试使用Stream的方式与我使用QuerySnapshot的方式一样

克里斯

我是flutter和firebase的新手,我正在尝试将Firestore文档添加到列表中。我已成功使用以下代码执行此操作:

getLocationListings(ListingNotifier listingNotifier, String location) async {
  QuerySnapshot snapshot = await Firestore.instance
      .collection('listings')
      .where('location', isEqualTo: location)
      .getDocuments();
      print(location);

  List<Listing> _listingList = [];

  snapshot.documents.forEach((document) {
    Listing listing = Listing.fromMap(document.data);
    _listingList.add(listing);
  });

  listingNotifier.listingList = _listingList;
}

我现在正在使用Flutter软件包:“ GeoFlutterFire”,以便可以按地理位置查询Firestore文档。

我一直在关注以下自述文件:https : //pub.dev/packages/geoflutterfire 并读取数据,看起来他正在使用如下Stream:

Stream<List<DocumentSnapshot>> stream = geo.collection(collectionRef: collectionReference)
                                        .within(center: center, radius: radius, field: field);

我的问题是,有什么办法可以_listingList像我在第一个代码示例中所做的那样将流中的文档添加到我的文档中

我已经尝试过仅使用提供的Stream示例关闭QuerySnapshot并使用stream更改快照,但是stream.documents.forEach((document)不起作用

Geoflutterfire geo = Geoflutterfire();
Firestore _firestore = Firestore.instance;
GeoFirePoint center = geo.point(latitude: lat, longitude: lng);
var collectionReference = _firestore.collection('listings');
double radius = 50;
String field = 'position';

getLocationListings(ListingNotifier listingNotifier, GeoFirePoint location) async {

  Stream<List<DocumentSnapshot>> stream = geo.collection(collectionRef: collectionReference)
                                        .within(center: center, radius: radius, field: field);


  List<Listing> _listingList = [];

  stream.documents.forEach((document) {
    Listing listing = Listing.fromMap(document.data);
    _listingList.add(listing);
  });

  listingNotifier.listingList = _listingList;
}
吉米·阿罗约(Jimmy Arroyo)

继续说明您需要收听流的文档。这是他们给出的示例:

    stream.listen((List<DocumentSnapshot> documentList) {
      // doSomething()
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何像在flutter中使用listview一样创建一个喜欢的按钮?

来自分类Dev

Flutter使用Stream检索Firestore集合

来自分类Dev

Flutter:使用Streambuilder <QuerySnapshot>时如何在Firestore中获取特定文档

来自分类Dev

Flutter:-如何像Android“ SingleTask”一样管理backstack?

来自分类Dev

我在使用 Flutter Preview 1

来自分类Dev

我可以使用flutter在Firestore上创建索引吗?

来自分类Dev

在flutter程序中使用Charts_flutter

来自分类Dev

使用`or`是否像Python一样,类似于PHP使用`or die()`的方式?

来自分类Dev

使用ImageShader的Flutter ShaderMask

来自分类Dev

使用Flutter形式的Cubit

来自分类Dev

正确使用Flutter Provider

来自分类Dev

使用 Flutter 控制 Arduino

来自分类常见问题

无法使用Flutter从Firestore获取数据

来自分类Dev

无法使用Flutter从Firestore检索文档

来自分类Dev

如何使用Flutter过滤Firestore文档?

来自分类Dev

无法使用Flutter从Firestore获取数据

来自分类Dev

Flutter Firestore缓存流

来自分类Dev

Flutter Firestore重置缓存

来自分类Dev

Flutter Firestore缓存

来自分类Dev

Flutter等待Firestore完成

来自分类Dev

Flutter和Cloud Firestore

来自分类Dev

Flutter Firestore读取过多

来自分类Dev

Flutter:保存到 Firestore

来自分类Dev

在Safari Mobile上以编程方式选择DOM元素(就像使用鼠标一样)?

来自分类Dev

在Flutter中以编程方式调用onBackpress

来自分类Dev

Swift之类的Flutter之类的快捷方式?

来自分类Dev

Flutter中调用方法的不同方式

来自分类Dev

如何使Flutter小部件的一部分像堆栈一样

来自分类Dev

Flutter:继承,我需要了解的知识和方式,父级中的一种实现方法,我需要在子级中使用它并在其上添加更多实现

Related 相关文章

热门标签

归档