javascript - 如何在 Google Firestore 中获取当前登录用户的文档

标签 javascript firebase google-cloud-firestore firebase-authentication

我正在尝试获取用户注册时创建的特定文档。我这样做是为了在用户注册时,他们的 firebase 用户 ID 是文档的名称。

我似乎不知道如何调用该文档。

我试过了:firebase.auth().currentUser.uid; uid userId(来自计算) 以及其他一些与 uid 相关的东西。

当我在网上寻找解决方案时,我看到了我尝试过的确切示例,我想知道 uid 的工作方式是否发生了变化?

<script>
// eslint-disable-next-line
import firebase from "firebase";
// eslint-disable-next-line
import firestore from "firestore";
import db from "@/components/fbInit";

export default {
  components: {},
  data() {
    return {
      users: []
    };
  },
  computed: {
    userId() {
      return firebase.auth().currentUser.uid;
    }
  },
  created() {
    db.collection("userProfiles")
       .document(userId)
       .get()
       .then(querySnapshot => {
         querySnapshot.forEach(doc => {
          const data = {
            id: doc.id,
            name: doc.data().name,
            company: doc.data().company,
            state: doc.data().state
          };
          this.users.push(data);
         });
      });
  }
};
 </script>

通常我不会收到任何错误,但它不会加载任何文档。有时它会说“uid”或我尝试使用的任何内容未定义。

最佳答案

对于其他想知道的人来说,这是解决方案。 unique 是我在创建用户时设置为匹配用户 ID 的字段。或者,我相信您可以使用 author 来获取文档的作者。

var user =  firebase.auth().currentUser


db.collection("userProfiles").where('unique', '==', user.uid).get()
  .then(querySnapshot => {
    querySnapshot.forEach(doc => { }

关于javascript - 如何在 Google Firestore 中获取当前登录用户的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57856499/

相关文章:

android - Flutter cloud_firestore 包导致应用崩溃

javascript - 如何在 vue.js 2 上添加类?

javascript - 类型错误 : Cannot read property 'uid' of undefined

swift - 从当前用户 firebase swift 获取文档

android - 在 Firebase 实时数据库上等待的上一个任务需要先完成,然后才能开始新任务

android - Cordova -插件-fcm : Cannot find name 'FCMPlugin'

firebase - Firestore : remove sensitive fields on documents

javascript - 如何在javascript中将对象转换为字符串?

javascript - 单个 Google 表格中的多个图表将不会显示

javascript - 悬停时显示列描述