使用orderby从实时数据库中获取数据

时间:2020-08-07 06:30:53

标签: firebase

我正在使用下面的代码来获取数据库age的数据。我想按//fetch all data var starCountRef = firebase.database().ref('users/'); starCountRef.on('value', function(snapshot) { console.log(snapshot.val()); }); 升序。

var starCountRef = firebase.database().ref('users/');
starCountRef.orderByChild("age").on('value', function(snapshot) {
  console.log(snapshot.val());
});

附带的屏幕截图供参考:

enter image description here

如何获得最低年龄记录?

编辑:: 1

  1. age是数据库中的数字

我尝试了使用以下代码的儿童订购,但仍然没有预期的结果。

DATE

enter image description here

结果仍然相同 enter image description here

1 个答案:

答案 0 :(得分:0)

您应该更新用户集合的结构,以便age属性是数字(而不是字符串)。因此,您只需要使用orderBy。像这样:

const starCountRef = firebase.database().ref('users').orderByChild("age");
starCountRef.on('value', function(snapshot) {
  console.log(snapshot.val());
});

目前,age属性是一个字符串,因此排序不会达到预期的效果(“ 11”将排在“ 3”或“ 4”之前)