我在Firebase中有一个数据库,其中包含以下数据:
{
user: 1;
points: 100;
},
{
user: 1;
points: 510;
},
{
user: 2;
points: 110;
},
{
user: 1;
points: 85;
},
{
user: 3;
points: 300;
},
{
user: 1;
points: 500;
}
如何进行查询,以便仅显示用户1的字段(使用REST查询从高到低排序)?
我尝试过
https://xxxxxx.firebaseio.com/tirada.json?orderBy="user"&equalTo="1"
它返回按用户过滤的结果,但不按点排序
{
user: 1;
points: 100;
},
{
user: 1;
points: 510;
},
{
user: 1;
points: 85;
},
{
user: 1;
points: 500;
}
我需要这个结果
{
user: 1;
points: 85;
},
{
user: 1;
points: 100;
},
{
user: 1;
points: 500;
},
{
user: 1;
points: 510;
}
谢谢
答案 0 :(得分:1)
Firebase数据库查询只能对单个属性进行排序/过滤。在许多情况下,可以将要过滤的值组合到单个(合成)属性中。在您的情况下,它将转换为属性"user_points": "1_510"
,然后可以对其进行订购/过滤。
但是REST API返回原始JSON对象,并且JSON对象中的属性顺序未定义。因此,这意味着您无论如何都必须对客户端代码中的点值对结果进行排序。鉴于此,您最好还是坚持只对user
进行过滤。
另请参阅: