React:如何显示Firestore子集合

时间:2020-03-06 00:57:31

标签: reactjs google-cloud-firestore

获取Firestore子集合时遇到问题。如图所示,包含namelabel的文档字段位于Firestore的timezone子集合中。我想在个人资料页面中显示timezone.label。但这不起作用。

不起作用:

user.timezone.label
user.timezone['label']

控制台

timezone 
{label: "Phoenix (MST)", value: "America/Phoenix"}
label: "Phoenix (MST)"
value: "America/Phoenix"
__proto__: Object

enter image description here

如何在“个人资料”页面中显示timezone label

1 个答案:

答案 0 :(得分:0)

查找和屏幕快照timezone肯定不是子集合,但是Firestore数据库支持地图类型的文档字段,当然也支持从地图获取数据。

我不知道如何创建与数据库的连接,但是假设firestore是Firestore数据库的实例:

因此,首先您必须从documentSnapshot前获得documentReference

const collection = firestore.collection(<collections_users_name>);
const userRefence = col.doc(<user_doc>).get();

比您可以像这样获得documentSnapshot:

user.then(user_snapshot => console.log(
    user_snapshot.data().timezone.label
);

您可以使用thisthis作为参考。祝你好运!