Firebase提供了多種排序數(shù)據(jù)的方式。 在本章中,我們將學(xué)習(xí)簡(jiǎn)單的查詢示例。 這里將使用前面章節(jié)中的相同數(shù)據(jù)。數(shù)據(jù)記錄如下所示 -
要按name列排序數(shù)據(jù),可以使用下面的代碼。
示例
讓我們來(lái)看看下面的例子。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<title>FireBase Example</title>
<script src="https://www.gstatic.com/firebasejs/4.9.1/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "AIzaSyAOSPYpgn7T_bKa6VbCaSeQlsw-3p3zqDs",
authDomain: "yiibai-firebase.firebaseapp.com",
databaseURL: "https://yiibai-firebase.firebaseio.com/",
projectId: "yiibai-firebase",
storageBucket: "yiibai-firebase.appspot.com",
messagingSenderId: "334522625008"
};
firebase.initializeApp(config);
var playersRef = firebase.database().ref("players/");
playersRef.orderByChild("name").on("child_added", function(data) {
console.log(data.val().name);
});
</script>
</head>
<body>
執(zhí)行上面示例代碼,得到以下結(jié)果 -
我們可以通過(guò)類似的方式:按索引鍵來(lái)排序數(shù)據(jù)。
示例
讓我們看看下面的一個(gè)例子。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<title>FireBase Example</title>
<script src="https://www.gstatic.com/firebasejs/4.9.1/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "AIzaSyAOSPYpgn7T_bKa6VbCaSeQlsw-3p3zqDs",
authDomain: "yiibai-firebase.firebaseapp.com",
databaseURL: "https://yiibai-firebase.firebaseio.com/",
projectId: "yiibai-firebase",
storageBucket: "yiibai-firebase.appspot.com",
messagingSenderId: "334522625008"
};
firebase.initializeApp(config);
var playersRef = firebase.database().ref("players/");
playersRef.orderByKey().on("child_added", function(data) {
console.log(data.key);
});
</script>
</head>
<body>
執(zhí)行上面示例代碼,得到以下結(jié)果 -
我們也可以按值排序數(shù)據(jù)。 在Firebase中添加一個(gè)評(píng)級(jí)(ratings)集合。如下圖所示 -
現(xiàn)在可以按照每個(gè)運(yùn)動(dòng)員的值來(lái)排序數(shù)據(jù)。參考下面的例子。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<title>FireBase Example</title>
<script src="https://www.gstatic.com/firebasejs/4.9.1/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
apiKey: "AIzaSyAOSPYpgn7T_bKa6VbCaSeQlsw-3p3zqDs",
authDomain: "yiibai-firebase.firebaseapp.com",
databaseURL: "https://yiibai-firebase.firebaseio.com/",
projectId: "yiibai-firebase",
storageBucket: "yiibai-firebase.appspot.com",
messagingSenderId: "334522625008"
};
firebase.initializeApp(config);
var ratingRef = firebase.database().ref("ratings/");
ratingRef.orderByValue().on("value", function(data) {
data.forEach(function(data) {
console.log(" " + data.key + " 等級(jí)排序是:" + data.val());
});
});
</script>
</head>
<body>
執(zhí)行上面示例代碼,得到以下結(jié)果 -