我有一个从Firebase数据库返回的数据集,数据集内部是团队信息,其中包含玩过的游戏数量,积分,犯规等等......
团队 - 积分
Chelsa 10
曼彻斯特6
利物浦18
马德里22
等等......我需要按点数从上到下排序,所以使用上面的例子,马德里将是第一,然后是利物浦,然后是切尔西,最后是曼彻斯特。
我的问题是; Firebase允许我这样做吗?我尝试过使用;
OrderByChild("points");
但这不按点(asc或desc)排序
或者我应该使用sort来订购Java arrayList吗?
答案 0 :(得分:0)
根据文档中的说明,Firebase中没有降序:
orderByChild()
接下来是具有数值的儿童,按升序排序。如果多个子节点具有指定子节点的相同数值,则按键排序。
然后你可以这样做:
orderByChild("points").limitToFirst(20);
将为您提供前20个,或者您可以使用limitToLast(20);
更多信息:
https://firebase.google.com/docs/database/android/lists-of-data
答案 1 :(得分:0)
Firebase数据库仅提供升序排序。所以你必须得到这些数据并反转数据。
string connString =
String.Format(
"Server={0}; User Id={1}; Database={2}; Port={3}; Password={4}; SSL Mode=Prefer; Trust Server Certificate=true",
parameter.Host,
parameter.User,
parameter.DBname,
parameter.Port,
parameter.Password);
NpgsqlConnection conn = new NpgsqlConnection(connString);
try
{
conn.Open();
if(conn.State == System.Data.ConnectionState.Open)
{
conn.Close();
}
}
catch (Exception ex)
{}