编辑:2018年9月12日
从开始
August 28, 2018,现在可以更新数组成员。更多信息在这里。
如关于数组的官方文档中所示:
尽管
Cloud Firestore可以存储阵列,但可以
it does not support查询阵列成员或更新单个阵列元素。
因此,不幸的是,您无法使用数组实现此目的。如果您只想获取整个
memebers数组,则只需使用一个
get()调用,然后再遍历Map如下:
Map<String, Object> map = documentSnapshot.getData();for (Map.Entry<String, Object> entry : map.entrySet()) { if (entry.getKey().equals("memebers")) { Log.d("TAG", entry.getValue().toString()); }}但是请注意,即使memebers对象作为数组存储在数据库中,也
entry.getValue()将返回
ArrayList,而不是
array。
这里还有一个解决方法,可以帮助您实现这一目标,但是您需要将memebersarray属性更改为
map。因此,一种更好的方法是考虑这种替代数据库结构,其中每个成员都是映射中的键,并且所有值均为
true:
memebers: { "sister12": true, "wow": true}


