在上一章中,我們已經(jīng)演示了如何在Firebase中寫入數(shù)據(jù)。 有時(shí)需要有一個(gè)唯一的數(shù)據(jù)標(biāo)識(shí)符。 如果要為數(shù)據(jù)創(chuàng)建唯一標(biāo)識(shí)符,則需要使用push方法而不是set方法。
在使用寫入功能之前,避免遇到權(quán)限問(wèn)題,建議設(shè)置規(guī)則為如下 -

push()方法將在數(shù)據(jù)被推送時(shí)創(chuàng)建一個(gè)唯一的ID。 如果想用前面的章節(jié)創(chuàng)建一個(gè)具有唯一ID的運(yùn)動(dòng)員數(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 playersRef = firebase.database().ref().child('players');
// console.log(playersRef);
playersRef.push ({
John: {
number: 1,
age: 30
},
Amanda: {
number: 2,
age: 20
}
});
</script>
</head>
<body>
現(xiàn)在數(shù)據(jù)看起來(lái)有些變化了。該名稱將只是一個(gè)名稱/值對(duì),類似于其他的屬性。
可以使用key屬性用于從Firebase獲取任何鍵。 例如,如果想獲取集合名稱,可以使用下面的代碼片段。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="utf-8" />
<title>FireBase Example</title>
<script src="http://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: "http://www.yiibai-firebase.firebaseio.com",
projectId: "yiibai-firebase",
storageBucket: "yiibai-firebase.appspot.com",
messagingSenderId: "334522625008"
};
firebase.initializeApp(config);
var playersRef = firebase.database().ref().child('players');
var playersKey = playersRef.key;
console.log(playersKey);
</script>
</head>
<body>
控制臺(tái)將輸入集合的名稱為:players。