如何使用firebase和flutter读取数组数据以检索活动主体?

时间:2019-06-27 08:18:37

标签: arrays firebase flutter document

我正在寻找在Firebase中的文档中检索地图数组(以下为“主题”)的内容,以使用flutter填充ListView的方法。

为便于说明,我的文档结构可以简化为:

  • 课程名称
  • 主题(地图数组)
    • subject_id
    • 主题名称
    • subject_is_active

每门课程只有一份文件。

我在这里是一个相对较新的人,因此我尝试调整在各个站点上找到的代码片段。我觉得我已经“快到了”,但不能完全解决问题!

我想了解两件事:

  1. 如何查询我的文档集合以仅查找给定课程(course_name =“我的关键值”)的活动主题(subject_is_active == true)
  2. 如何确定给定课程的活动主题数,以便为要填充的ListView设置正确的ItemCount。

我的代码:

 Widget _buildListItem(BuildContext context, DocumentSnapshot document) {
    return ListTile(
        title: Row(
        children: [
          Expanded(
            child: Text(
              document['subject_name'].toString(),
            ),
          ),
          Container(
            child: Text('is active'
            ),
          ),
        ],
      ),
    );
  }

  @override
              StreamBuilder(
                  stream:
                  Firestore.instance.collection('courses').where('course_name', isEqualTo: 'test course').snapshots(),
                  builder: (context, snapshot) {
                    if (!snapshot.hasData) return const Text('loading...');
                    return ListView.builder(
                      itemExtent: 80.0,
                      itemCount: itemBuilder: (context, index) => _buildListItem(
                          context, snapshot.data.documents[index])
                    );
                  }),

            )));
  }

0 个答案:

没有答案