Как я вижу в вашем коде, вы пытаетесь удалить все документы, которые существуют в коллекции colref
. Используя этот код, вы можете удалить все документы, но не подколлекции, которые существуют в каждом документе. Скорее всего, эти документы теперь отображаются в курсив , так как больше нет свойств. Но обратите внимание, это ожидаемое поведение.
В Cloud Firestore документы и вложенные коллекции не работают как файлы и каталоги файловой системы. Подколлекции никак не связаны с родительским документом. Поэтому, когда вы удаляете коллекцию, находя все документы в ней, это не означает, что вы также удаляете все вложенные коллекции, которые существуют в этих документах.
Таким образом, чтобы иметь возможность удалить всю коллекцию, сначала вам нужно найти все вложенные коллекции, которые существуют на самом низком уровне, в вашем случае Request
. Если в этих документах нет других вложенных коллекций (я не вижу на предоставленном вами скриншоте), сначала вам нужно найти все существующие там документы и удалить их. Только тогда, в качестве второй операции, вы должны удалить документы, которые существуют под вашей коллекцией AllUsers
.
В заключение удалите все вложенные коллекции с самого низкого уровня до самого высокого уровня.
Согласно официальной документации, для больших коллекций операция удаления не рекомендуется, поскольку она имеет негативные последствия для безопасности и производительности. Вы все еще можете сделать это для небольших коллекций документов. Для больших коллекций я все еще рекомендую использовать Облачные функции .