【发布时间】:2022-01-03 05:18:37
【问题描述】:
我正在使用 Firebase Database Rest Api,并且我有一个显示新闻的应用程序,我想要一种通过使用每个帖子的(视图)计数降序来排序这些新闻的方法,在同时, 因此,我正在寻找一种方法来按(服务器端)最高观看次数对所有新闻进行排序。
我的数据结构是这样的: 主要/新闻/类别/教育/PostId/
我的 json :
{
"Main" : {
"News" : {
"Categories" : {
"Education" : {
"-Mn7-ZxkUPO01ifhtpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 5
},
"-Mn7-ZxkUPO01ifhtp11En" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 5
},
"-Mn7-ZxkUPO0112ifhtpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 12
},
"-Mn7-ZxkUPO01dxifhtpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 545
},
"-Mn7-ZxkUPO01sdifhtpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 5
},
"-Mn7-ZxkUPO01ifddhtpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 200
},
"-Mn7-ZxkUPO01ifdshtpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 1
},
"-Mn7-ZxkUPO01ifhtdxpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 223
},
"-Mn7-ZxkUPO01ifhewtpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 451
},
"-Mn7-ZxkUPO01idsdfhtpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 532
},
"-Mn7-ZxkUPO01ifh2tpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 1500
},
"-Mn7-ZxkUPOd01ifh2tpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 45
},
"-Mn7-ZxkUPO01ifh21tpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 2
},
"-Mn7-ZxkUPO01ifh2dstpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 4
},
"-Mn7-ZxkUPO01ifh2txpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 4
},
"-Mn7-ZxkUPO01ifhds2tpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 2
},
"-Mn7-ZxkUPO01iddfh2tpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 33
},
"-Mn7-ZxkUPO01idxfh2tpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 52
},
"-Mn7-ZxkUPO01idsdfh2tpEn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 1
},
"-Mn7-ZxkUPO01ifh2tpEdsn" : {
"Text" : "some text",
"Title" : "some title",
"Views" : 1000000
}
}
}
}
}
}
有没有办法解决这个过程 最好的问候:)
【问题讨论】:
-
您应该可以
OrderByChild("Views").LimitToLast(10)获得浏览次数最多的 10 个节点。如果这不起作用:您在问题中包含了 JSON 树的图片。请将其替换为实际的 JSON 作为文本,您可以通过单击 your Firebase Database console 的溢出菜单 (⠇) 中的 Export JSON 链接轻松获得。将 JSON 作为文本使其可搜索,让我们可以轻松地使用它来测试您的实际数据并在我们的答案中使用它,一般来说这只是一件好事。 -
谢谢你帮助我 :),你是一个伟大的人,我很抱歉图像,我用 JSON 文本替换它你现在可以复制 JSON,请我必须澄清一下没有方法称为(OrderByChild),因为我使用c#但是有OrderBy(“”)方法,当我使用它并放置(“Views”)时会出现错误:索引未定义,添加“.indexOn”我的新闻路径
-
据我所知,Unity/Xamarin C# SDK 有
OrderByChild,但如果你的是 REST API 的不同包装器,那么OrderBy("Views")将是等效的。错误消息应准确说明您需要在何处添加索引。
标签: c# android firebase firebase-realtime-database