繁体   English   中英

如何获取用户ID作为Firebase中数据的文档?

[英]How can I fetch User ID as document on firebase in my data?

我正在尝试在文档中获取名称。 现在,文档ID是用户UID。 我想获取UID,但是好像我的查询没有正确处理。 我实际上正在做的是试图在.doc内部传递一个值,这似乎不起作用。

我试过db.collection('users')。doc(userUid),我试过.where(UserUid)。 一直在尝试使用控制台对其进行调试,但是我只是在获取文档ref对象,好像没有什么不对。

我认为没有错,因为如果我仅将代码以“ .collection('users')”的形式运行而没有.doc扩展名,则该代码将在所有集合中列出我想要的字段,我只是觉得很难理解使用我的查询从集合“用户”中的文档中获取userUid作为值。

任何帮助是极大的赞赏。

干杯

    created () {

      var auth = firebase.auth()
      var userUid = auth.currentUser.uid
      var db = firebase.firestore()
      const collection = db.collection('users')/*

                                         | This works without the
                                         | .doc extension */.doc(userUid)

      collection.onSnapshot(res => {
        const changes = res.docChanges()
          changes.forEach(change => {
            if (change.type === 'added') {
              this.items.push({
                ...change.doc.data(),
                id: change.doc.id
              })
            }
          })
        })
      },

经过一些实验后,我想出了一种有关如何获取的解决方案:集合>用户UID>(文档内的随机字段)

例如:

<template>

  <h1>

    {{ items.nameOfUser }}

  </h1>

</template>

<script>
export default {
  data: () => ({
    items: null
  }),
  async created () {
    const firestore = firebase.firestore()
    const docPath = firestore.doc('/users/' + firebase.auth().currentUser.uid)
    docPath.get().then((doc) => {
      if (doc && doc.exists) {
        this.nameOfUser = doc.data()
      }
    })
  },
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM