用于用户上传的Firestore查询

时间:2019-01-10 15:31:37

标签: javascript firebase google-cloud-firestore

大家好,我有用户可以上传图像和与Firebase存储关联的Firestore文档,Firestore文档的用户可以上传其Firebase uid。

我正在尝试查询集合中具有该uid的所有图像。 如您所见,我正在尝试使用以状态存储的当前用户uid。

created() {
    var assetsRef = db.collection('Assets')
    var query = assetsRef.where('user', '==', this.$store.state.user)
    console.log(query)
}

firestore中的文档如下所示:

    authors
(array)
0
"bakerMan"
description
"Delicous chocolate chip cookies"
imageurl
0
"https://firebasestorage.googleapis.com/v0/b/hydra-games.appspot.com/o/whitney-wright-282066-unsplash.jpg?alt=media&token=fba56452-4eee-4e02-9cfa-f993723f2bdd"
slug
"the-best-cookies-ever"
title
"The Best cookies ever"
user
"qwrNDu4ViAOl1y6RCGZ6F9xHywX2"

我正在尝试将上述用户ID设置为上方,以便允许我返回整个文档。

它返回:

Query$$1 {_query: Query, firestore: Firestore}
firestore: Firestore {_dataConverter: UserDataConverter, …}
_query: Query {path: ResourcePath, explicitOrderBy: Array(0), filters: Array(1), limit: null, startAt: null, …}
__proto__: Object

我似乎无法在对象中找到我的文档信息。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您的代码建立了一个查询,但尚未执行该查询。要执行查询,您需要在查询上调用get()(一次获取结果)或onSnapshot()(开始监视)。例如:

query.get().then((querySnapshot) => {
  querySnapshot.forEach((doc) => {
    console.log(doc.data());
  });
})

请注意,Firebase文档对此进行了很好的介绍,因此我强烈建议您花一些时间在那儿。例如,在getting documents from a collection的文档中。