首页 > 解决方案 > 从子集合 Firestore/Android 中删除地图

问题描述

我正在做一个带有 Firestore 数据库的 Android 项目。我在尝试删除其中的子集合地图时遇到问题,有人可以帮忙吗?

子集合的图像

子集合的图像

我想删除这整个红色块。这是我的方法:

        FirebaseFirestore db = FirebaseFirestore.getInstance();
        db.collection("roteiros").document(collectionId)
                .collection("eventos").document(subcollectionId)
                .delete()
                .addOnSuccessListener(successListener)
                .addOnCompleteListener(completeListener)
                .addOnFailureListener(failureListener);

此方法成功返回,但实际上并未删除文档。

我已经允许数据库规则中的所有权限,并在模拟器上使用文档路径进行了测试。

标签: javaandroidfirebase

解决方案


您可以使用 FieldValue.delete()

FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("roteiros").document(collectionId)
    .collection("eventos").document(subcollectionId)
    .update("eventos", FieldValue.delete());

注意:您不能删除数组中的特定索引。您只能删除整个数组并使用另一组数据重新创建它。


推荐阅读