【发布时间】:2016-11-27 05:20:08
【问题描述】:
我正在尝试创建一个简单的程序,该程序从用户那里获取姓名、手机号码和电子邮件地址,然后将数据放入 Firebase 实时数据库。
有3个输入框和一个按钮,点击即可完成上述操作。代码如下:
<input type="text" id="name">
<input type="text" id="mobile">
<input type="text" id="email">
<button type="button" id="button" onclick="addLead()">Submit</button>
我已经这样设置 Firebase:
<script src="https://www.gstatic.com/firebasejs/3.2.0/firebase.js"></script>
<script>
// Initialize Firebase
var config = {
...
};
firebase.initializeApp(config);
var database = firebase.database();
</script>
这是我的addLead() 函数:
function addLead() {
var clientName = document.getElementById('name').value;
var clientMobile = document.getElementById('mobile').value;
var clientEmail = document.getElementById('email').value;
var newClientKey = database.ref().child('leads').push().key;
database.ref('leads/'+newClientKey+'/name').set(clientName);
database.ref('leads/'+newClientKey+'/mobile').set(clientMobile);
database.ref('leads/'+newClientKey+'/email').set(clientEmail);
}
这就是我将数据放入数据库的方式。
所以newClientKey 正在生成一些字符串,插入时效果很好,但现在如何检索? official documentation 没有帮助。这个生成的字符串可能是基于时间戳的,如果是这种情况,那么再次生成它是不可能的。
在检索仅在插入时才可用的唯一生成字符串下,我将如何访问电子邮件、手机和姓名?
按照上述结构,我需要降低 2 个级别才能访问所需的数据,并且由于缺乏文档,我不知道该怎么做,我不确定这样的事情是否可行:
database.child().child();
【问题讨论】:
-
database.ref().child('leads').once('value').then(function(lead) { console.log(lead.val().email, lead.val().mobile, lead.val().name); });在控制台中产生了什么? -
@Deryck 它产生“未定义”。
标签: javascript firebase firebase-realtime-database