gpt4 book ai didi

javascript - 如何在没有 node.js 的情况下使用 firebase 实时数据库

转载 作者:行者123 更新时间:2023-11-30 09:29:13 25 4
gpt4 key购买 nike

我是 Firebase 实时数据库的新手,我想在我的项目中实现 firebase 实时数据库,但不想使用 node.js。是否可以 ?请帮我解决这个问题。

如果可以在不使用 node.js 的情况下使用 firebase 实时数据库,那么我该如何继续。我还在下面放置了我的示例代码。请给我一些建议。

var config = {
apiKey: "AIzaSyAEERy5Jbnns9CUurD7NwmOXXXXXXXXXX",
authDomain: "testing-XXXXX-db.firebaseapp.com",
databaseURL: "https://testing-XXXXX-db.firebaseio.com",
projectId: "testing-XXXXXX-db",
storageBucket: "testing-XXXXX-db.appspot.com",
messagingSenderId: "25861013XXXX"
};
firebase.initializeApp(config);

// Get a reference to the database service
var database = firebase.database();

我已经成功地初始化了它,我也从云数据库中得到了结果。

firebase.database().ref("/chat").orderByChild("name").on("value", function(snapshot) {
snapshot.forEach(function(childSnapshot) {

// key
var key = childSnapshot.key;
// value, could be object
var childData = childSnapshot.val();

console.log(childData);
$("#history").append('<div class="container"><p>'+childData.name+':'+childData.message+'</p><span class="time"> Time : '+childData.time+' </span></div>');
});
});

当我想使用数据库触发器实时更新聊天应用程序时,问题就来了。

我想使用以下事件/函数。

onWrite(), which triggers when data is created, destroyed, or changed in the Realtime Database.
onCreate(), which triggers when new data is created in the Realtime Database.
onUpdate(), which triggers when data is updated in the Realtime Database.
onDelete(), which triggers when data is deleted from the Realtime Database.

非常感谢任何帮助。为糟糕的语法/语言道歉。请不要给出负面评论,因为我真的坚持这一点。

最佳答案

我对 Firebase 的经验不多,但据我了解,您列出的那些函数是通过使用 Cloud Functions 触发的,不需要响应浏览器中的变化。

在浏览器中,要响应子更改,请使用 child_changed:

 firebase.database().ref("chat").orderByChild("name").on("child_changed", function(snapshot) {
//-- Whatever.
});

要响应子添加,请使用 child_added:

 firebase.database().ref("chat").orderByChild("name").on("child_added",      function(snapshot) {
//-- Whatever.
});

要响应子项删除,请使用 child_removed:

 firebase.database().ref("chat").orderByChild("name").on("child_removed", function(snapshot) {
//-- Whatever.
});

此外,请注意,如果您对任何内容使用 .on("value"),每次数据以任何方式更改时都会返回一个新数据集,这意味着这可能每次都会返回整个聊天记录发送新消息,而不是仅返回新消息。可能不想这样做:

 firebase.database().ref("chat").orderByChild("name").on("value", function (){});

如果您只想获取一次聊天数据,请使用 .once("value")

希望这对您有所帮助?

关于javascript - 如何在没有 node.js 的情况下使用 firebase 实时数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47414151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com