Невозможно добиться этого, используя структуру базы данных, поскольку между вашим узлом data
и объектами, содержащими свойство title
, существует еще один дочерний элемент, Category
.
.
Вы можете использовать следующий запрос:
dbref.child("data").child("Category1")
.orderByChild("title")
.startAt(search_key)
.endAt(search_key + "\uf8ff")
.addListenerForSingleValueEvent(/* ... */);
И цикл только один раз , а не вдвое больше, чем вы делаете в своем коде прямо сейчас, но вы сможете получить только заголовки, которые существуют в узле Category1
. Если вы хотите получить все заголовки, вам следует реструктурировать базу данных, указав категорию в качестве свойства ваших объектов, а затем просто использовать:
dbref.child("data") //No Category1 child
.orderByChild("title")
.startAt(search_key)
.endAt(search_key + "\uf8ff")
.addListenerForSingleValueEvent(/* ... */);
Таким образом, у вас будет меньше уровень, и этот запрос будет отлично работать.