Javascript 如何在我的数据中获取用户ID作为firebase上的文档?
我正试图从一个文档中提取一个名称。文档ID现在是用户UID。我想获取UID,但我的查询似乎有点不对劲。实际上,我正在尝试在.doc中传递一个值,这似乎不起作用 我尝试了db.collection('users').doc(userUid),我尝试了.where(userUid)。我一直在尝试用控制台调试它,但我只是得到documentref对象,好像什么都没有错 我认为这没有什么错,因为如果我只是以“.collection('users')”的形式运行代码,而不使用.doc扩展名,那么代码将列出我希望在所有集合中使用的字段。我只是觉得我很难理解如何通过查询从集合“users”中的文档中获取userUid作为值 非常感谢您的帮助 干杯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扩展名,那么代码将列出
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()代码>?