angular - 自定义、用户特定文档字段的 Firestore 索引
问题描述
我有一个包含元素类别的应用程序。每个类别都有一组由用户定义的字段:
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 是用户定义的,并且每个用户都可以自定义,所以我无法提前对它们进行索引。关于如何正确构建这个或解决方法的任何想法?
解决方案
如果我正确理解您需要知道每个用户的每个字段的(现有)值列表,以便构建查询(例如在前端使用显示现有值的下拉列表),您可以存储这些用户配置文件中的值,可能在某些数组中。
这意味着,例如,当您编写新Room
文档时,您会使用新值更新用户配置文件wall-color
(使用批量写入和arrayUnion()
)。
当用户打开应用程序时,您将查询此用户配置文件。
推荐阅读
- sql - 如何删除在sql server中交换了名字/姓氏的重复用户
- python - 错误:在 zmq 中的字符串格式期间并非所有参数都转换了
- postgresql - 在表中插入多行的函数
- c# - 我的 NAudio 代码中有哪些错误?
- php - Codeigniter 项目中的条件案例错误
- tensorflow - 在 Tensorflow 上使用远程 grpc 会话时如何在本地服务器上保存参数?
- laravel - 拉拉维尔。关系中的两张表,选择许多照片
- git - Gitlab CI 删除用户附件和上传的文件
- c - C 语言转换数字基数
- python - 这些在aioredis中发布/订阅的方法是否等效?