【问题标题】:How to update array elements in Firestore with Android?如何使用 Android 更新 Firestore 中的数组元素?
【发布时间】:2019-08-11 20:46:52
【问题描述】:

我读到这个post 和这个post 的同一个人说你不能更新数组元素。

我还阅读了最近的 article,其中说这可以通过 arrayUnion 或类似的方式以某种方式完成,但我无法在文档中获得有关 stackoverflow 的任何信息。

有什么办法可以解决这个问题吗?谢谢!

【问题讨论】:

  • 查看此链接:firebase.google.com/docs/firestore/manage-data/… [更新数组中的元素] 如果您的文档包含数组字段,您可以使用 arrayUnion() 和 arrayRemove() 来添加和删除元素。 arrayUnion() 将元素添加到数组中,但只添加不存在的元素。 arrayRemove() 删除每个给定元素的所有实例。
  • 欢迎来到 StackOverflow,即使提供问题链接可以很好地解释您面临的问题,但仍然建议您提供更多背景信息并解释您要解决的问题。
  • 嗯,已经在此链接stackoverflow.com/questions/46757614/… 中回答了您的问题
  • @AshishDas 谢谢,但我正在寻找 Android,该答案提供了 Javascript 解决方案,但不明白。
  • @smn.tino 我需要知道这是否可能,所以我可以在我的项目中使用这个功能,我知道这是可能的。还是谢谢。

标签: java android firebase google-cloud-firestore


【解决方案1】:

实际上,写这些答案的“人”是我 :) 那时,您无法更新数组元素。只能存储数组,而不能更新数组成员。

现在,在更新文档时,您可以将第二个参数作为第二个参数传递给 update() 方法:

FieldValue.arrayUnion("newArrayValue")

您可以在官方文档中找到更多关于update elements in an array的信息。

如果您的文档包含数组字段,您可以使用 arrayUnion() 和 arrayRemove() 来添加和删除元素。 arrayUnion() 将元素添加到数组中,但只添加不存在的元素。 arrayRemove() 删除每个给定元素的所有实例。

附:我也会更新这些答案。

【讨论】:

    猜你喜欢
    • 2020-03-02
    • 1970-01-01
    • 2018-12-14
    • 1970-01-01
    • 2020-05-23
    • 2016-05-31
    • 2017-01-05
    • 1970-01-01
    相关资源
    最近更新 更多