我正在尝试在全球Firebase聊天中创建一对一聊天。我想知道我将如何进行?我现在正在做的是创建了另一个HTML文件,该文件将在该文件中进行私人聊天,并且我正在按用户ID搜索 这段代码。
oneOnone.addEventListener('click', function(e){
// Attach an asynchronous callback to read the data at our posts reference
ref.on("value", function (snapshot) {}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
ref.orderByChild("userId").on("child_added", function (snapshot) {
console.log(snapshot.val().userId);
console.log(searchId);
if(searchId.value === snapshot.val().userId){
window.location.href = 'privatemessage.html';
}
});
});
然后将其导入到privatemessage.html文件中,所有聊天应该在该文件中进行。我一直觉得我的数据库可能不正确。
firebase上的数据库仍然像在全局聊天中那样注册人员,而不是一对一聊天。我只是完全困惑如何确保聊天只能在两个人之间进行。如果有人可以推荐指南,请对1v1聊天的工作方式进行完整的说明,不胜感激。是的,我看过文档,它确实没有解释如何进行1v1聊天。
修改
所以我所依靠的是一对一的演讲
var pmChat = database.ref('chat/' + userId);
基本上创建一个新引用,然后链接该用户标识,但是现在,如何链接另一个用户的用户标识?
答案 0 :(得分:3)
您可以将当前用户ID与其他用户ID链接起来,如下所示:
database.ref('chat').child(currentUserId).child(otherUserId).child(message);
database.ref('chat').child(otherUserId).child(currentUserId).child(message);