android - 在 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。你能帮我吗?
解决方案
如果您想知道文档中列表类型字段的大小,您必须:
- 将文档作为DocumentSnapshot读取
- 按名称获取字段 - 这将是一个通用的 List 类型对象
- 使用该
size()
列表上的方法。
假设您有一个快照,它将是这样的:
DocumentSnapshot snapshot = ...
List<Object> requests = (List<Object>) snapshot.get("requests");
int size = requests.size();
推荐阅读
- css - SAP Spartacus - 段落组件中的内联样式 (SmartEdit)
- javascript - 在鼠标点击的地方动态追加 DOM
- performance - 为什么这个表达式解析器在(一些?)规则的数量上如此糟糕?
- php - Laravel 8 Auth 中间件保护路由失败
- scala - Spark - Scala:“错误:未找到:值转换”
- amazon-web-services - 在 SNS Terraform 脚本中定义 SQS 端点
- c++ - 错误:对非类类型“unsigned int”的成员的请求
- bash - 从 CSV 文件在 yaml 中生成模板
- c# - C++ 到 C# ReadProcessMemory
- java - 测试整数是否可以创建三角形