Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJS中使用firebase进行一对一聊天_Javascript_Angularjs_Firebase_Firebase Realtime Database_Chat - Fatal编程技术网

Javascript 如何在AngularJS中使用firebase进行一对一聊天

Javascript 如何在AngularJS中使用firebase进行一对一聊天,javascript,angularjs,firebase,firebase-realtime-database,chat,Javascript,Angularjs,Firebase,Firebase Realtime Database,Chat,我正在尝试使用firebase实现一对一的聊天功能。现在,我的消息结构在fb数据库中是有意义的,但我无法在angular中使用firebase的api实现一对一聊天功能。我可以垃圾邮件聊天室的所有用户都可以看到每个人的消息,但我想有一个一对一聊天功能在我的应用程序。我在firebase数据库中的结构很好,我只需要操作javascript代码就可以了。我的代码如下 function chatController($scope,$firebaseArray) { var ref1=fire

我正在尝试使用firebase实现一对一的聊天功能。现在,我的消息结构在fb数据库中是有意义的,但我无法在angular中使用firebase的api实现一对一聊天功能。我可以垃圾邮件聊天室的所有用户都可以看到每个人的消息,但我想有一个一对一聊天功能在我的应用程序。我在firebase数据库中的结构很好,我只需要操作javascript代码就可以了。我的代码如下

function chatController($scope,$firebaseArray) {

    var ref1=firebase.database().ref().child('users/59c1c11cec/chats/-KuRshPYbO_d9B');
    $scope.chats=$firebaseArray(ref1); 
    var ref=firebase.database().ref().child('chats/-KuRshPYbO_d9B/messages');
    $scope.messages=$firebaseArray(ref);
    $scope.send=function(){
        $scope.messages.$add({
            message:$scope.messageText,
         //   date:Date.now()
        })
    }
}

我能够通过硬编码用户ID在两个用户之间创建一对一的聊天,但我想知道firebase的api是否能够动态地做到这一点。如果是,我将如何做?作为参考,59c1c11cec是当前登录的用户id,-KuRshPYbO_d9B是当前用户正在开始对话的另一个人的id,我在自己的数据库中没有任何访问权限,但仅在firebase的数据库中。我使用这个用户id检索两个用户之间的消息。我怎样才能做到这一点?我只需要用我提到的值替换硬编码的值。非常感谢

您可以使用
firebase.auth().currentUser.uid
。获取其他用户的ID是特定于应用程序的。您可能希望显示当前用户可以开始聊天的联系人列表。在我的情况下,在数据库中创建匹配项时会创建一个聊天对象,就像tinder一样。我需要获取的当前用户id的对应匹配项。Firebase不提供此功能?您可以使用
Firebase.auth().currentUser.uid
。获取其他用户的ID是特定于应用程序的。您可能希望显示当前用户可以开始聊天的联系人列表。在我的情况下,在数据库中创建匹配项时会创建一个聊天对象,就像tinder一样。我需要获取的当前用户id的对应匹配项。Firebase不提供这个?