我的目标:
网络应用程序(类似于 Google Drive)有 2 个屏幕。
第一个屏幕是“我的故事”,它显示了我拥有的所有故事文档。
第二个屏幕是“与我共享”,它显示了我是读者、作者或评论者的所有故事文档。
我们有这个/stories/{storyid}
{
title: "A Great Story",
content: "Once upon a time ...",
roles: {
alice: "owner",
bob: "reader",
david: "writer",
jane: "commenter"
// ...
}
}
完整的数据结构参考:https ://firebase.google.com/docs/firestore/solutions/role-based-access
问题:如何编写以下查询来实现上述目标?
db
.collection('stories')
.where(`roles.${uid}`, '==', 'owner')
上面的查询不起作用,因为它需要 Firestore 索引 roles.alice、roles.bob、roles.david、roles.jane 和 roles.[all_uid]。
编辑#1:找到一个相关的帖子(没有答案)询问Firestore 查询角色