微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Flutter 和 Firebase:如何检查 Firebase 文档中的数组中是否存在某个项目

如何解决Flutter 和 Firebase:如何检查 Firebase 文档中的数组中是否存在某个项目

img_firebase

我正在尝试 waitUser(array) 检查存在值,我该怎么做?

// 如果 waitUser 数组字段 存在 2 return text("this text") else return text("other text")

      body: StreamBuilder(
    stream: FirebaseFirestore.instance
        .collection('events')
        .where('eventCity',isEqualTo: 'Ankara')
        .snapshots(),builder: (BuildContext context,AsyncSnapshot<QuerySnapshot> snapshot) {
      if (!snapshot.hasData) {
        // ERROR
        return Center(
          child: CircularProgressIndicator(),);
      } else {
        return Container(
          child: ListView(
            scrollDirection: Axis.vertical,children: snapshot.data.docs.map((document) {
              // if waitUser array field exist 2 return text("this text") else return text("other text")
            }).toList(),),);
      }
    },

解决方法

在构建器的 else 部分执行以下操作:

return Container(
          child: ListView(
            scrollDirection: Axis.vertical,children: snapshot.data.docs.map((document) {
              // Get the waitUser array from the document.
              List<dynamic> waitUser = document.data()["waitUser"] as List<dynamic>;

              // Check for "2" in the array.
              if (waitUser.contains("2")) {
                // "2" was in the array.
                return text("this text");
              } else {
                // "2" was not in the array.
                return text("other text");
              }
            }).toList(),),);

这将收集符合 eventCity == "Ankara" 条件的每个文档。对于这些文档中的每一个,它将检查 waitUser 数组中的“2”。如果数组中存在“2”,则返回text("this text");否则,它将返回 text("other text")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。