как получить данные пользователей из firebase, хранящиеся там uid - PullRequest
0 голосов
/ 01 августа 2020

Я пытаюсь получить данные из базы данных firebase, используя Html и js Я не очень хорошо разбираюсь в веб-разработчиках, поэтому это мой первый веб-разработчик, который не совсем знаком с ним, поэтому мои пользователи хранятся там uid вот структура данных

это мой код

<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Side Navigation Bar</title>
    <link rel="stylesheet" href="sidebarStyle.css">
    <script src="https://kit.fontawesome.com/b99e675b6e.js"></script>
</head>
<body>
<div class="wrapper">
            <table>
                <tr>
                    <th>name:</th>
                    <th>phone:</th>
                    <th>id:</th>
                </tr>
                <tbody id="table">

                </tbody>
            </table>
        </div>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-app.js"></script>

<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-auth.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-firestore.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-storage.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-analytics.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.17.1/firebase-database.js"></script>


<script>
  // Your web app's Firebase configuration
  var firebaseConfig = {
    apiKey: "AIza........",
    authDomain: "........",
    databaseURL: ".........",
    projectId: ".......",
    storageBucket: "........",
    messagingSenderId: ".......",
    appId: "1:.....:web:.......",
    measurementId: "G-......"
  };
  // Initialize Firebase
  firebase.initializeApp(firebaseConfig);
  firebase.analytics();
</script>
<script src="https://code.jquery.com/jquery-3.5.1.min.js"  
integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0="   
crossorigin="anonymous"></script>

<script src="usersTable.js"></script>
        
 </body>
</html>

мой Javascript код находится в отдельном файле -> usersTable.js другая проблема - когда я ' m пишет firebase не появляется автозаполнение Я установил машинописный текст, код, который я пробовал, следует инструкциям этого парня, но у меня не работает https://www.youtube.com/watch?v=nUUPedePJ4o , если что-то не так с моим кодом, или мне нужно установить инструменты firebase, или не сообщать мне

1 Ответ

0 голосов
/ 01 августа 2020

Чтобы получить данные вошедшего в систему пользователя:

[Предполагается, что вам нужны данные вошедшего в систему пользователя]

// get current logged in user details
const user = firebase.auth().currentUser;

// get the branch of the user
const userBranch = firebase.database().ref('/users/'+user.uid);

// retrieve the data from that branch - Remember this is an asynchronous function - it returns promise
userBranch.once('value').then((snapShot)=>{
   var userPhoneNo = snapShot.val().phone;
   var userPic = snapShot.val().profileImageUrl;
   var userName = snapShot.val().username;
});

Ресурс: Ссылка

Если вы хотите узнать больше об асинхронных функциях - Link

О вашей второй проблеме: в JavaScript для Firebase нет расширений для автозаполнения.

Изменить 1:

[Получение всех пользователей из ветки пользователей]

// this will get the whole user branch
const userBranch = firebase.database().ref('/users');

// retrieve the data from the database
userBranch.once('value').then((snapShot)=>{

 var userDetaills = snapShot.val()

 userDetails.forEach((user)=>{
  let userPhone = user.phone;
  let userPic = user.profileImageUrl;
  let userName = user.username;

  // your rest of the logic
 });
});

...