Cloud Firestore Firebase集合参考上的IN查询是否具有Flutter / Dart等效项?

路加

我想使用Streambuilder中的多个文档ID列表查询Firebase集合引用,但它似乎是唯一的

.where()

可用的查询功能是:

Query where(String field, {dynamic isEqualTo, dynamic isLessThan, dynamic isLessThanOrEqualTo, dynamic isGreaterThan, dynamic isGreaterThanOrEqualTo, dynamic arrayContains, bool isNull})

我已经测试过isEqualTo,如果我设置了要传入的字符串,则可以正常工作,但是无法将其用于列表。官方Firebase文档中似乎提供了一个IN函数,该函数最多可以提供10个项目:

https://firebase.google.com/docs/firestore/query-data/queries#in_and_array-contains-any

Flutter中是否有等效的IN函数或其他实现此目的的方法?我尝试传递的列表实际上是由父级Streambuilder提供的,该父级Streambuilder向特定用户查询User集合,并将所有组传递给第二个Streambuilder:

class _StarredChatState extends State<StarredChat> {

final _firestore = Firestore.instance;
  @override
  Widget build(BuildContext context) {
    final user = Provider.of<User>(context);
    final userID = user.uid;   
    return StreamBuilder<QuerySnapshot>( 
      stream: _firestore.collection('users/$userID/chats')
                        .snapshots(),
      builder: (context, snapshot) {
        if (!snapshot.hasData) {
          return Center(
            child: CircularProgressIndicator(
              backgroundColor: Colors.lightBlueAccent,
            ),
          );
        }
        List<String> ChatIDList = [];
        final ChatIDs = snapshot.data.documents;
        for(var x in ChatIDs) {
          final ChatID = x.data['chats'].toString();
          ChatIDList.add(ChatID);
        }

        return StreamBuilder<QuerySnapshot>(
          stream: _firestore.collection('chatrooms')
                            // here is where I need the IN operator as neither
                            // arraycontains or isEqualTo give the desired result
                            .where('description', arrayContains: ChatIDList)
                            .snapshots(),
          builder: (context, snapshot) {

          if (!snapshot.hasData) {
          return Center(
            child: CircularProgressIndicator(
              backgroundColor: Colors.lightBlueAccent,
            ),
          );
        }
          //Here is where I want to return a ListBuilder for the above returned 
          //Streambuilder list

          }

          );


      }
    );
  }
}

我的另一尝试是将所有加入聊天室的用户作为子集合包含在单独的聊天文档中,但是由于这些用户具有唯一的自动ID,因此我无法生成与特定用户的所有聊天流,因为我无法完整路径传递给嵌套子集合。任何其他指针将不胜感激。

谢谢

弗兰克·范普菲伦

我的猜测是您使用的是FlutterFirecloud_firestore插件的旧版本,因为whereIn该库的当前版本中肯定存在运算符。请参阅此处的参考文档

您可能需要升级到最新版本的FlutterFire,以获得操作员。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

向Cloud Firestore添加阵列(Flutter / Dart)

来自分类Dev

Firebase Cloud Firestore-从参考访问集合

来自分类Dev

是否有Dart的Coffeescript等效项

来自分类Dev

Cloud Firestore文档参考

来自分类Dev

Cloud Firestore 中的 IN 查询

来自分类Dev

Flutter和Cloud Firestore

来自分类Dev

如何使用Dart / Flutter在Cloud Firestore中存储简单矩阵?

来自分类Dev

Firebase / Cloud Firestore:onSnapshot()与on()

来自分类Dev

Firebase + PHP - Cloud Firestore

来自分类Dev

如何在Cloud Flutter Firestore中处理嵌套集合查询?

来自分类Dev

是否可以在Cloud Firestore上查询Field并获取主集合字段以及具有子集合文档的子集合?

来自分类Dev

Cloud Functions 中的 Cloud Firestore 查询

来自分类Dev

关于Cloud Firestore中的查询

来自分类Dev

关于 firebase/cloud firestore 的困惑

来自分类Dev

Cloud Firestore查询以获取文档ID,Flutter

来自分类Dev

Flutter从Firebase Cloud Firestore返回完整阵列

来自分类Dev

什么是php关联数组的dart等效项,以及如何将其存储在Firestore中?

来自分类Dev

Angular 9-具有Firebase和Cloud Firestore的后端

来自分类Dev

是否可以从父集合(firebase cloud firestore)访问子集合?

来自分类Dev

Android Cloud Firestore文档字段查询

来自分类Dev

如何通过值查询Cloud Firestore

来自分类Dev

Cloud Firestore 查询结果集为空

来自分类Dev

在flutter中从cloud_firestore删除文档

来自分类Dev

Firebase Cloud Firestore无法正常工作

来自分类Dev

带地图的Firebase Cloud Firestore安全规则

来自分类Dev

.add() in firebase cloud firestore 嵌套对象

来自分类Dev

Firebase 函数未针对 Cloud Firestore 触发

来自分类Dev

无法从Cloud Firestore检索Flutter中的多个集合

来自分类Dev

在 Cloud Functions 中按时间戳从 Cloud Firestore 查询

Related 相关文章

  1. 1

    向Cloud Firestore添加阵列(Flutter / Dart)

  2. 2

    Firebase Cloud Firestore-从参考访问集合

  3. 3

    是否有Dart的Coffeescript等效项

  4. 4

    Cloud Firestore文档参考

  5. 5

    Cloud Firestore 中的 IN 查询

  6. 6

    Flutter和Cloud Firestore

  7. 7

    如何使用Dart / Flutter在Cloud Firestore中存储简单矩阵?

  8. 8

    Firebase / Cloud Firestore:onSnapshot()与on()

  9. 9

    Firebase + PHP - Cloud Firestore

  10. 10

    如何在Cloud Flutter Firestore中处理嵌套集合查询?

  11. 11

    是否可以在Cloud Firestore上查询Field并获取主集合字段以及具有子集合文档的子集合?

  12. 12

    Cloud Functions 中的 Cloud Firestore 查询

  13. 13

    关于Cloud Firestore中的查询

  14. 14

    关于 firebase/cloud firestore 的困惑

  15. 15

    Cloud Firestore查询以获取文档ID,Flutter

  16. 16

    Flutter从Firebase Cloud Firestore返回完整阵列

  17. 17

    什么是php关联数组的dart等效项,以及如何将其存储在Firestore中?

  18. 18

    Angular 9-具有Firebase和Cloud Firestore的后端

  19. 19

    是否可以从父集合(firebase cloud firestore)访问子集合?

  20. 20

    Android Cloud Firestore文档字段查询

  21. 21

    如何通过值查询Cloud Firestore

  22. 22

    Cloud Firestore 查询结果集为空

  23. 23

    在flutter中从cloud_firestore删除文档

  24. 24

    Firebase Cloud Firestore无法正常工作

  25. 25

    带地图的Firebase Cloud Firestore安全规则

  26. 26

    .add() in firebase cloud firestore 嵌套对象

  27. 27

    Firebase 函数未针对 Cloud Firestore 触发

  28. 28

    无法从Cloud Firestore检索Flutter中的多个集合

  29. 29

    在 Cloud Functions 中按时间戳从 Cloud Firestore 查询

热门标签

归档