我有一个包含元素类别的应用程序。每个类别都有用户定义的一组字段:
Category -> Rooms Category -> Windows
Fields Fields
wall-color frame-material
wall-height glass-type
... ...
这些定义的字段现在出现在该类别内的每个元素上。每个元素可以为每个元素保留一个唯一值:
Office 100 Office 200 Window A
wall-color: blue wall-color: red frame-material: metal
wall-height: 13'-7" wall-height: 10'-0" glass-type: double
现在,我希望用户能够根据以下自定义字段中的值查询其元素:
this.firestore.col(`/projects/elements`,ref => ref.where('wall-color','==','blue'))
问题在于,由于这些字段ID是用户定义的,并且是针对每个用户定制的,因此我无法提前对其进行索引。关于如何正确构建此结构或解决方法的任何想法?
答案 0 :(得分:0)
如果我正确理解您需要了解每个用户的每个字段(现有)值的列表(每个用户),以便构建查询(例如在带有下拉列表的前端)显示现有值),则可以将这些值存储在用户个人资料文档中,可能还存储在某些数组中。
这意味着,例如,当您编写新的Room
文档时,将使用新的wall-color
值(使用batched write和arrayUnion()
更新用户配置文件。
当用户打开应用程序时,您将查询此用户个人资料文档。