Я хотел бы получить 1 набор данных из, например, 3 наборов данных в Firebase. Для этого я использую Firebase RESTful api.
Я пробовал использовать параметры, но продолжал получать все 3 набора данных вместо 1.
https://mydatabase.firebaseio.com/user.json?Name=Alan
Вот так мои данные выглядят в JSon
{
"1234567": {
"Name": "Alan",
"Department": "Retail Team"
},
"7894563": {
"Name": "Joe",
"Department": "Sales Team"
},
"9876543": {
"Name": "Tammy",
"Department": "Customer Service"
}
}
@ AndréKool Я прочитал этот документ, я попробовал простой (с примером, показанным в области вопросов). Я пробовал с параметром Name, но это не сработало
Без обид, но похоже, что вы не пробовали. Пример в вашем вопросе не включает orderBy и equalTo, как показано в документации.
@ AndréKool Без обид, однако, фильтрующая часть - это когда мне нужно, чтобы она была в определенном порядке, например Height, как указано в этом примере документа. Но на данный момент мне просто нужно получить Name. Остальная часть документа говорит о сложной фильтрации, которая мне пока не понадобится.
Я думаю, вы неправильно это прочитали, но не будем это обсуждать. Вы можете попробовать это: https://mydatabase.firebaseio.com/user.json?orderBy = "Name"&equalTo = "Alan"?
@ AndréKool Мои извинения, если я совершу ошибку, я относительно новичок в NoSQL и Firebase ... В любом случае, я попробовал то, что вы упомянули, и у меня возникла ошибка на "Index not defined, add \".indexOn\": \"Name\", for path \"/user\", to the rules"
@ AndréKool Ошибка уже решена путем добавления правил в мою базу данных firebase.
Так он работает сейчас? Если это так, я напишу это как ответ, чтобы другие люди также могли извлечь из этого пользу.
@ AndréKool Да, пожалуйста, также добавьте решение с правилами.

Если вы хотите фильтровать данные с помощью REST api, вам нужно добавить orderBy в свои параметры, чтобы указать, по какому полю вы хотите фильтровать. (На самом деле он ничего не делает для заказа на стороне клиента) И в этом случае вы должны объединить его с equalTo, как указано в документы. Результат будет такой:
https://mydatabase.firebaseio.com/user.json?orderBy = "Name"&equalTo = "Alan"
Чтобы это работало, вам также необходимо указать добавить индекс в правилах вашей базы данных, например:
{
"rules": {
"user": {
".indexOn": ["Name"]
}
}
}
Это объясняется в документы о фильтрации.