我需要从返回的一组物品中获取一个物品
resource.data.diff(request.data).changedKeys()
那么,是否有办法从集合中获取项目,或将集合变成列表以获取项目?
我不需要比较任何值,所以我不需要hasOnly()
或任何相关函数,我需要以任何方式获取集合中的一个值吗?
答案 0 :(得分:1)
您可以使用Set进行操作的完整列表在链接的API文档中。与List相同。
如您所见,Set没有可用的元素访问器。您所能做的就是检查大小和存在,并操纵内容。
对于列表,您必须知道元素的索引才能获取内容。如果您不知道索引,则无法访问它。
这两个集合都没有提供“获取任意,未命名,未编制索引的项目”的功能。
答案 1 :(得分:1)
我向Firebase支持方提出了要求,以便在Set添加到API后立即访问Set的值。还在等待...
我使用的解决方法是request.writeFields
,其中包含为给定的创建/更新写入的所有字段。
注意:
request.writeFields
已过时,可能会被删除(我认为在没有其他可用的工作方法时疯狂)
对于嵌套字段,它将为您提供每个字段的完整路径 例如,如果您更新文档中的以下字段:
{
A // UPDATED
B: {
BA
BB // UPDATED
}
C: {
CA: {
CAA // UPDATED
}
CB
}
}
=> request.writeFields
= ['A', 'A.BB', 'C.CA.CAA']