Javascript 如何在我的数据中获取用户ID作为firebase上的文档?

Javascript 如何在我的数据中获取用户ID作为firebase上的文档?,javascript,firebase,vuejs2,google-cloud-firestore,Javascript,Firebase,Vuejs2,Google Cloud Firestore,我正试图从一个文档中提取一个名称。文档ID现在是用户UID。我想获取UID,但我的查询似乎有点不对劲。实际上,我正在尝试在.doc中传递一个值,这似乎不起作用 我尝试了db.collection('users').doc(userUid),我尝试了.where(userUid)。我一直在尝试用控制台调试它,但我只是得到documentref对象,好像什么都没有错 我认为这没有什么错,因为如果我只是以“.collection('users')”的形式运行代码,而不使用.doc扩展名,那么代码将列出

我正试图从一个文档中提取一个名称。文档ID现在是用户UID。我想获取UID,但我的查询似乎有点不对劲。实际上,我正在尝试在.doc中传递一个值,这似乎不起作用

我尝试了db.collection('users').doc(userUid),我尝试了.where(userUid)。我一直在尝试用控制台调试它,但我只是得到documentref对象,好像什么都没有错

我认为这没有什么错,因为如果我只是以“.collection('users')”的形式运行代码,而不使用.doc扩展名,那么代码将列出我希望在所有集合中使用的字段。我只是觉得我很难理解如何通过查询从集合“users”中的文档中获取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()
      }
    })
  },
}

{{items.nameOfUser}
导出默认值{
数据:()=>({
项目:空
}),
异步创建(){
const firestore=firebase.firestore()
const docPath=firestore.doc('/users/'+firebase.auth().currentUser.uid)
docPath.get()。然后((doc)=>{
如果(单据和单据存在){
this.nameOfUser=doc.data()
}
})
},
}

经过一点实验,我找到了一个解决方案,可以获取: 收藏> 用户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()
      }
    })
  },
}

{{items.nameOfUser}
导出默认值{
数据:()=>({
项目:空
}),
异步创建(){
const firestore=firebase.firestore()
const docPath=firestore.doc('/users/'+firebase.auth().currentUser.uid)
docPath.get()。然后((doc)=>{
如果(单据和单据存在){
this.nameOfUser=doc.data()
}
})
},
}

我不清楚。你在这里的最终目标是什么?要获取集合中所有文档的单个字段?要获取单个文档的字段?您需要在显示时使用onSnapshot进行实时更新,还是只需要获取一次?我也不知道你所说的“我只是在获取document ref对象,好像什么都没有错”是什么意思。你是在寻找
constuserdoc=wait db.collection('users').doc(userUid.get()?我不清楚。你在这里的最终目标是什么?要获取集合中所有文档的单个字段?要获取单个文档的字段?您需要在显示时使用onSnapshot进行实时更新,还是只需要获取一次?我也不知道你所说的“我只是在获取document ref对象,好像什么都没有错”是什么意思。你是在寻找
constuserdoc=wait db.collection('users').doc(userUid.get()