Подколенная коллекция Firestore удаляет самый старый документ - PullRequest
1 голос
/ 21 октября 2019

Я изо всех сил пытался выяснить, как удалить документы из вложенной коллекции, сохраняйте только последние 5 документов.

Сначала я пытаюсь получить список документов во вложенной коллекции, упорядоченный по метке даты 'updated'. Это, однако, возвращает нуль

let updates = await firestore
    .collection('spots')
    .doc(spot.id)
    .collection('spotupdates')
    .orderBy('updated','desc');

Затем я пытаюсь удалить самый старый из списка, чтобы убедиться, что осталось только 5

var cntr = 0;
while(updates.docs.length > 5){
    await firestore
        .collection('spots')
        .doc(spot.id)
        .collection('spotupdates')
        .doc(updates[cntr].id)
        .delete();
    cntr++;
}
cntr = null;

Пожалуйста, помогите - действительно застрял

1 Ответ

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

В соответствии с документацией Firebase для удаления данных из вашей базы данных:

Чтобы удалить всю коллекцию или вложенную коллекцию в Cloud Firestore, извлеките все документы из коллекции или вложенной коллекции и удалите их. Если у вас есть большие коллекции, вы можете удалить документы меньшими партиями, чтобы избежать ошибок нехватки памяти. Повторяйте процесс, пока не удалите всю коллекцию или подколлекцию.

Вы можете найти упрощенный фрагмент кода для удаления коллекций и подколлекций в этой ссылке.

Также вы найдете больше информации и подробных примеров об удалении полей, документов и коллекций в Firestore в по этой ссылке .

Дайте мне знать, если это было полезно.

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