首页 > 解决方案 > 在 Android 的 Firestore 中的集合中计数数组

问题描述

我正在尝试计算集合中包含的数组。数据结构如下:

{requests=[{name=Jayson, created=1599139605672, from=jayson123, to=marco123, timestamp=2020-09-03T13:26:45+00:00}]}

在上面的示例中,我想计算requests集合包含多少个数组,在这种情况下为 1。

我正在使用snapshot.getData().size(),但它总是返回 1。你能帮我吗?

标签: androidfirebasegoogle-cloud-firestore

解决方案


如果您想知道文档中列表类型字段的大小,您必须:

  1. 将文档作为DocumentSnapshot读取
  2. 按名称获取字段 -​​ 这将是一个通用的 List 类型对象
  3. 使用该size()列表上的方法。

假设您有一个快照,它将是这样的:

DocumentSnapshot snapshot = ...
List<Object> requests = (List<Object>) snapshot.get("requests");
int size = requests.size();

推荐阅读