繁体   English   中英

Firebase Web检索更多特定数据并对其进行排序

[英]Firebase Web retrieve more specific data and sort it

我在Firebase中有以下数据库结构:

firebaseDB

每个对象都包含category和sectionIndex,它们对应于章节及其排序顺序。

我试图抓住这些数据,以便在我的菜单中显示它。

我可以使用以下代码访问数据库:

firebase.database().ref().on("value", snapshot => {console.log(snapshot.val());} ,error => {console.log("Error: " + error.code);} );

控制台中有结果:

consoleScreen

我的问题是我如何输入每个对象(0,1,2,3,4,...,45),获取类别值并按照sectionIndex按顺序对其进行排序,并避免复制该值。

Firebase在文档中列出了一组查询,允许您对数据进行一些基本操作。 在您的情况下,您似乎希望使用orderByChild通过sectionIndex对整个数据库对象进行排序。 然后,您可以使用limitToFirst或limitToLast参数指定一次获得的数量

然后,当您获得快照时,只需获取所有categoryValues并使用它们执行所需操作。 而不是像你现在一样使用.on(“value”),在他们的例子中使用.on('child_added')可能更容易:

 var ref = firebase.database().ref("dinosaurs");
  ref.orderByChild("height").on("child_added", function(snapshot) {
  console.log(snapshot.key + " was " + snapshot.val().height + " m tall");
});

你应该很难将它应用到你的案件中。

还要记住,根据您想要对这些数据做什么,以及根据您将要拥有的项目数量,可能更容易在客户端进行排序(即,不要让Firebase进行排序,让你的电脑/应用程序进行排序)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM