Удалить карту из коллекции Firestore / Android - PullRequest
0 голосов
/ 14 октября 2019

Я делаю проект Android с базой данных Firestore. У меня возникают проблемы при попытке удалить карту вложенной коллекции, кто-нибудь может помочь?

Изображение вложенной коллекции

Image of the subcollection

Я хочу удалить весь этот красныйблок. Это мой метод:

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

Этот метод возвращается с успехом, но на самом деле не удаляет документ.

Я уже разрешил все разрешения в правилах базы данных и протестирован насимулятор с путем документа.

1 Ответ

0 голосов
/ 14 октября 2019

Вы можете использовать FieldValue.delete ()

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

ПРИМЕЧАНИЕ. Невозможно удалить определенный индекс в массиве. Вы можете только удалить весь массив и воссоздать его с другим набором данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...