我有一个具有以下结构的文档:
{
"email" : "a@gmail.com",
"value" : 100,
"children" : [
{
"email" : "b@gmail.com",
"value" : 100
},
{
"email" : "b@gmail.com",
"value" : 200
}
]
}
我想删除电子邮件中的所有元素
b@gmail.com
来自 children
大批。如果我像这样传递要删除的整个对象,我可以删除一个项目:FieldValue.arrayRemove(childObject)
但我想要两个带有电子邮件的对象
b@gmail.com
即将被删除。无论如何使用 FieldValue.arrayRemove()
来实现这一点吗? ?
最佳答案
arrayRemove
操作从数组中删除您指定的确切项目。无法传递部分对象并删除与部分信息匹配的所有数组项。您必须传入要删除的每个完整项目。
如果您还不知道这些项目是什么,您通常必须首先读取文档,遍历数组中的项目以删除它们,然后将修改后的数组写回文档。
关于firebase - FieldValue.arrayRemove() 根据属性值从对象数组中删除一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59694940/