Я знаю, что firebase не допускает множественный запрос orderByChild, поэтому для достижения того же эффекта необходимо реструктурировать код.Я пытаюсь, но я застрял на том, как это сделать.
У меня есть следующая структура базы данных:
posts: {
"-LY0tr3NmAlZhJDfxMch": {
"State": "California",
"City": "SanFrancisco",
"StateCity": "California_SanFrancisco",
"createdAt": 1549441397199,
"postText": "Hello!!",
"starCount": 0,
"userId": "blAWQ9g9YMciB312fasdawqeqw",
},
....
}
Что я хочу сделать, это просмотреть сообщения, запрошенные с указанием штата и / или города, , а также заказать ихпо starCount.Просто просмотреть сообщения, основанные на штате и / или городе, можно с помощью следующего:
firebase
.database()
.ref()
.child("posts")
.orderByChild("State") // or City or StateCity
.equalTo('...')
...
Выше я бы вернул все сообщения только на основе штата или города или штата.Теперь то, что я хочу сделать, это заказать эти возвращенные запросы снова с номером starCount.Например, следующее:
firebase
.database()
.ref()
.child("posts")
.orderByChild("State") // or City or StateCity
.equalTo('e.g. California') // query posts that have state California
.orderByChild("StarCount") // from posts of California, order them by starCount
.once("value")
...
Я не могу снова использовать orderByChild, поэтому я застрял в том, как я мог бы реструктурировать свою базу данных для достижения вышеуказанного результата.
Как я могу это сделать?Спасибо!