Запрос с подстановочным знаком ID документа - PullRequest
0 голосов
/ 30 октября 2018

Можно ли отфильтровать идентификатор документа по дате? Например, документы вставляются ежедневно, и мы хотим удалить данные предыдущих дат. Мы планировали добавить дату к идентификатору документа и выполнить удаление с фильтрацией по идентификатору документа с подстановочным знаком - 20181101_ *, чтобы удалить весь документ, идентификатор которого начинается с некоторой соответствующей даты.

Другим подходом будет вставка поля даты в каждый документ для запуска предложения WHERE.

q = doc_ref.where(u'date', u'==', 20181101).get()

Я понял это, но мне просто интересно, есть ли лучший подход.

1 Ответ

0 голосов
/ 30 октября 2018

выполнить удаление с фильтрацией по идентификатору документа с подстановочным знаком - 20181101 _ *

В Cloud Firestore нет способа создать запрос на основе подстановочных знаков.

удалить все документы, идентификатор которых начинается с некоторой соответствующей даты.

Также нет способа запрашивать элементы в базе данных Firestore, которые начинаются с некоторой соответствующей даты. Чтобы решить эту проблему, вы должны следовать инструкциям официальной документации , которая гласит:

Cloud Firestore не поддерживает собственную индексацию или поиск текстовых полей в документах. Кроме того, загрузка всей коллекции для поиска полей на стороне клиента нецелесообразна.

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

И да, вы правильно догадались, лучшее решение - добавить новое свойство даты и запросить базу данных в соответствии с ним.

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