如何使用 Android 更新 Firestore 中的数组元素?
Posted
技术标签:
【中文标题】如何使用 Android 更新 Firestore 中的数组元素?【英文标题】:How to update array elements in Firestore with Android? 【发布时间】:2019-02-17 04:00:22 【问题描述】:我读到这个post 和这个post 的同一个人说你不能更新数组元素。
我还阅读了最近的 article,其中说这可以通过 arrayUnion
或类似的方式以某种方式完成,但我无法在文档中获得有关 *** 的任何信息。
有什么办法可以解决这个问题吗?谢谢!
【问题讨论】:
查看此链接:firebase.google.com/docs/firestore/manage-data/… [更新数组中的元素] 如果您的文档包含数组字段,您可以使用 arrayUnion() 和 arrayRemove() 来添加和删除元素。 arrayUnion() 将元素添加到数组中,但只添加不存在的元素。 arrayRemove() 删除每个给定元素的所有实例。 欢迎来到 ***,即使提供问题链接可以很好地解释您所面临的问题,但仍然建议您提供更多有关您要解决的问题的背景和解释。 嗯,已经在此链接***.com/questions/46757614/… 中回答了您的问题 @AshishDas 谢谢,但我正在寻找 android,该答案提供了 javascript 解决方案,但不明白。 @smn.tino 我需要知道这是否可能,所以我可以在我的项目中使用这个功能,我知道这是可能的。还是谢谢。 【参考方案1】:实际上,写这些答案的“人”是我 :) 那时,您无法更新数组元素。只能存储数组,而不能更新数组成员。
现在,在更新文档时,您可以将第二个参数作为第二个参数传递给 update()
方法:
FieldValue.arrayUnion("newArrayValue")
您可以在官方文档中找到更多关于update elements in an array的信息。
如果您的文档包含数组字段,您可以使用 arrayUnion() 和 arrayRemove() 来添加和删除元素。 arrayUnion() 将元素添加到数组中,但只添加不存在的元素。 arrayRemove() 删除每个给定元素的所有实例。
附:我也会更新这些答案。
【讨论】:
以上是关于如何使用 Android 更新 Firestore 中的数组元素?的主要内容,如果未能解决你的问题,请参考以下文章
Android Firebase FireStore实时更新分页
如何在 Android Studio 中使用 Kotlin 从 Firestore 数据库中获取下一条和上一条数据?