java - 从子集合 Firestore/Android 中删除地图
问题描述
我正在做一个带有 Firestore 数据库的 Android 项目。我在尝试删除其中的子集合地图时遇到问题,有人可以帮忙吗?
子集合的图像
我想删除这整个红色块。这是我的方法:
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());
注意:您不能删除数组中的特定索引。您只能删除整个数组并使用另一组数据重新创建它。
推荐阅读
- node.js - wpapi、JSON、node.js 遇到问题
- ios - popViewControllerAnimated:在发生现有转换或演示时在 UINavigationController 上调用
- android - MotionLayout 的孩子忽略“setVisibility”
- python - 来自回调函数的 Python 进度条
- python - 从 lmfit 最小化器获取雅可比行列式
- python-3.x - 提高迭代速度
- c++ - 将函数指针传递给另一个类的方法
- html - 无法使用 Find_All 刮取班级信息
- html - 什么是(没有孩子)用于?
- javascript - 在节点中,我有一个名为“错误”的 json 对象