【发布时间】:2021-01-05 23:59:51
【问题描述】:
我是 Firebase Cloud Firestore 的新手。我的数据库结构如下图所示。所以,基本上我有一个“喜欢”的文档,它跟踪用户喜欢内容的时间戳。它有“章节”作为子集合,并且在每个章节中都有具有实际时间戳的子章节。现在我想检索按时间戳排序的所有喜欢的数据。我不知道如何才能做到这一点!
【问题讨论】:
标签: firebase google-cloud-firestore
我是 Firebase Cloud Firestore 的新手。我的数据库结构如下图所示。所以,基本上我有一个“喜欢”的文档,它跟踪用户喜欢内容的时间戳。它有“章节”作为子集合,并且在每个章节中都有具有实际时间戳的子章节。现在我想检索按时间戳排序的所有喜欢的数据。我不知道如何才能做到这一点!
【问题讨论】:
标签: firebase google-cloud-firestore
您可以使用orderBy() 指定数据的排序顺序,如下例所示:
db.collection("liked").orderBy('timestamp').get()
我也建议你关注this doc,它演示了如何设置 Cloud Firestore、添加、读取数据和保护数据。
更新
我创建了以下数据库来复制您的场景:
reprod(collections)/
test1(document)/
liked(collections)/
0(document)/
type(filed)
为了按升序流式传输时间戳,我手动迭代到文档并获取按时间戳排序的数据:
reprod = db.collection(u'reprod').document(u'test1').collection(u'liked')
timestamps = reprod.stream()
for doc in timestamps:
print(f'{doc.id} => {doc.to_dict()}')
为此,我使用了有关如何使用 retrieve data 和如何使用 order data 的 Firestore 文档。
【讨论】: