我正在做一个带有 Firestore 数据库的 Android 项目。 我在尝试删除子集合映射时遇到问题,有人可以帮忙吗?
子集合的图像
我想删除整个红色 block 。这是我的方法:
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("roteiros").document(collectionId)
.collection("eventos").document(subcollectionId)
.delete()
.addOnSuccessListener(successListener)
.addOnCompleteListener(completeListener)
.addOnFailureListener(failureListener);
此方法成功返回,但实际上并未删除文档。
我已经在数据库规则中允许了所有权限,并使用文档路径在模拟器上进行了测试。
最佳答案
您可以使用FieldValue.delete()
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("roteiros").document(collectionId)
.collection("eventos").document(subcollectionId)
.update("eventos", FieldValue.delete());
注意:您无法删除数组中的特定索引。您只能删除整个数组并用另一组数据重新创建它。
关于java - 从子集合 Firestore/Android 中删除 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58368986/