Получить информацию о пользователе из документа из запроса Firestore? - PullRequest
0 голосов
/ 04 февраля 2019

Я запрашиваю некоторые документы из пожарного магазина.как получить информацию о пользователе из объекта моментального снимка.

Информация, такая как идентификатор пользователя и имя пользователя.

Предполагается, что пользователь вошел в систему с помощью социального поставщика OAuth.ЕСЛИ это важно.

firebase.firestore().collection('sample').get()
        .then(function(snapshot) {
            console.log('SNAPSHOT', snapshot);
            snapshot.forEach(function(doc) {
                console.log(doc.exists);
                console.log(doc);
                console.log(doc.id);
                console.log(doc.metadata);
                console.log(doc.ref);
                console.log(doc.data());
                console.log(doc.ref.path);
                console.log(doc);
            })
        }).catch(console.log);

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

Как отметил Фрэнк ван Пуффелен, вашему приложению необходимо реализовать логику для создания пользовательских документов в RTDB Firestore / Firebase.

Работа, которую вам нужно сделать, это: 1.) создать учетную запись пользователя в firebase-бэкенд под «аутентификацией».Вы можете указать любую электронную почту в сочетании с любым паролем - это не настоящие учетные записи Google, а только используемые для вашего приложения.

2.) Напишите логин логина, чтобы вы могли войти в свое приложение, используя ранеесоздан аккаунт.Найдите на сервере сообщение onSuccess, чтобы убедиться, что все работает.

3.) Если пользователь вошел в систему, вы можете получить объект firebaseAuth.currentUser из своего приложения и получить дополнительные метаданные, такие какотметка времени последнего входа в систему.Кроме того, теперь вы можете получить его электронную почту и, возможно, создать уникальный идентификатор.С помощью этого уникального ключа вы теперь можете создавать новые пользовательские записи с вашими индивидуальными данными.типичная структура:

- пространство имен вашего приложения

- пользователи

---test.user@example.com

----displayName: откровенный

---- возраст: 47

---- любит поесть: спагетто-код

---exampleUser2@test.com

...

- data

...

Надеюсь, это поможет!

0 голосов
/ 04 февраля 2019

Firestore не связывает документы с пользователями.Если вы хотите связать документы с пользователем, вам придется сделать это в коде приложения.Вы можете добавить поле в каждый документ, содержащий пользователя, использовать UID пользователя в / в качестве идентификатора документа или сохранить документы для пользователя во вложенной коллекции.

Если вы добавляете поле вкаждый документ, содержащий пользователя, затем вы можете получить все документы, связанные с этим пользователем:

firebase.firestore().collection('sample').where('uid', '=', firebase.auth().currentUser.uid).get()...

Если вы используете UID пользователя в качестве идентификатора документа, вы можете получить документ пользователя с помощью:

firebase.firestore().collection('sample').doc(firebase.auth().currentUser.uid)...

Если вы храните документы для пользователя во вложенной коллекции документа, названного в честь пользователя, вы можете получить эту коллекцию с помощью:

firebase.firestore().collection('sample').doc(firebase.auth().currentUser.uid).collection('documents')...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...