我正在尝试获取文档中的名称。现在,文档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
})
}
})
})
},
答案 0 :(得分:0)
经过一些实验,我找到了如何获取的解决方案: 集合> 用户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()
}
})
},
}