Я пытаюсь сделать поиска список постов позволяет экономить на firebase так что у меня мой firebse дб как этотfirebase Фильтры и пагинация
{
"post": {
"postId": {
"title": "bla bla bla",
"date": "1/1/2015"
},
"postId2": {
"title": "bla bla bla",
"date": "2/1/2015"
}
}}
Теперь я хочу, чтобы фильтровать по названию, только в темах, что их начинается название с «бла-бла», а затем сделать подкачку и сортировать по дате, так что я сделал этот код:
var posts=new Firebase(URL + "/post");
posts=posts.orderByChild("title").startAt("bla bla").endAt("bla bla"+"z");//this will only show posts that starts with bla bla
posts=posts.orderByChild("date").startAt(10).limitToFirst(10);//this will filter and show only the second page
posts.on("value", function (raw_data) {
//showing the results and more
});
каждый из запросов работает, но когда я положил их вместе я получаю сообщение об ошибке
Query.orderByChild: вы не можете комбинировать несколько вызовов orderBy.
Как это сделать? Я предпочитаю не использовать свой собственный сервер и копировать данные на свой сервер и делать это там
лучший. вопрос. Когда-либо. –
.endAt ('bla bla ~') будет лучше, так как ваш текущий поиск исключает многие совпадения, такие как bla blaze. Теперь, возможно, что более важно, почему? Похоже, вы пытаетесь выполнить рудиментарный поиск. Если это так, я бы рекомендовал [настоящий инструмент поиска] (https://www.firebase.com/blog/2014-01-02-queries-part-two.html). Есть еще одна причина, по которой люди ищут google, а не любые веб-сайты, созданные в инструментах поиска. – Kato
Спасибо, я использую трюк, но «реальный инструмент поиска» - это ElasticSearch, который должен запускаться на моем собственном сервере, поэтому мой сервер не может масштабировать слишком много. –