Как искать и получать документы из облачного пожарного магазина, который соответствует определенной строке - PullRequest
1 голос
/ 11 марта 2019

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

Я пытался использовать этот запрос: -

query = db.collection("Items").whereEqualTo(txt,true);

но это не работает, я действительно запутался, любая помощь будет оценена.

Вот скриншот моей базы данных:

Database screenshot

1 Ответ

1 голос
/ 11 марта 2019

Как я понимаю из ваших комментариев, вы хотите запросить базу данных на основе подстрок, которые могут существовать в id документов, но, к сожалению, это невозможно.Самое простое решение, о котором я могу подумать, - это добавить идентификатор документа в качестве свойства в объекте item (document).Таким образом, ваша схема должна выглядеть следующим образом:

Firestore-root
   |
   --- Items (collection)
         |
         --- Jeera Rice (document)
               |
               --- imageUrl: "https://..."
               |
               --- price: 70
               |
               --- documentId: "Jeera Rice"

Даже если вы сделаете так, вы не сможете искать по подстрокам.Чтобы включить полнотекстовый поиск по вашим данным в Cloud Firestore, воспользуйтесь сторонней поисковой службой, такой как Algolia.Чтобы добиться этого в Android, см. Мой ответ из следующего поста:

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