![](/img/trans.png)
[英]When using onValue to listen to a Firebase realtime database for updates, is it possible to retrieve the event type of child_added or child_changed?
[英]Listen to child_changed (Firebase Realtime Database) on web
我是 javascript 和 firebase 的新手,我创建了单个 web 页面,我想听下面的child_changed事件是我的代码
<!DOCTYPE html>
<html>
<body>
<script src="https://www.gstatic.com/firebasejs/3.0.2/firebase.js"></script>
<script>
var config = {
apiKey: "AIzaSyAqPnuP-EwU2WXreJ_3Ks_er0KbTKE-BNg",
authDomain: "hellofirebase-a1794.firebaseapp.com",
databaseURL: "https://hellofirebase-a1794.firebaseio.com"
};
firebase.initializeApp(config);
var commentsRef = firebase.database().ref().child('hellofirebase-a1794');
commentsRef.on('child_changed', function(data) {
window.alert("sometext"+data.val());
});
</script>
</body>
</html>
我的数据库结构如下
hellofirebase-a1794
|
|
------betteryLevel : 12
但是当我从 Firebase 控制台更改值时,我没有收到事件,也没有在 chrome 控制台中收到任何错误,请任何人帮助我这是什么问题
从更改您的代码
var commentsRef = firebase.database().ref().child('hellofirebase-a1794');
至:
var commentsRef = firebase.database().ref().child('/');
您不需要将hellofirebase-a1794
(您的根目录)添加到数据库引用中。
看起来hellofirebase-a1794
是您的项目名称或它的根目录,因此您无需在.ref()
之后给孩子。
您可以通过以下方式获得数据库参考:
var commentsRef = firebase.database().ref();
然后,您可以从commentsRef
获取数据。
此代码用于 Node.js
const { getDatabase, ref, onChildAdded } = require('firebase/database'); const db = getDatabase(); onChildAdded(ref(db, 'compliments/received/' + currentUser._id), (snapshot) => { console.log(snapshot.val()) })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.