【发布时间】:2019-01-09 03:51:01
【问题描述】:
我正在编写一个跟踪事件的应用程序。我正在使用 firestore 来拥有 events 的主要集合,其中包含每个事件作为文档。每个文档都有自己的详细信息(包括roles 对象)和事件中自己的步骤集合。
集合对象如下所示:
events > [collection]
eventid1 > [doc]
steps > [collection]
location: "Even Center",
notes: "Some notes here",
timestamp: 1272153600,
title: "A great event",
roles:
userID1: 0, //numbers to define role type
userID2: 1,
userID3: 1,
我想要做的是查询roles.userID1 存在的任何事件。我知道 firestore 没有子集合查询,所以这是我最接近解决这个问题的方法。
只有 3 个“角色”(0 = 所有者,1 = 编辑,2 = 查看者)。我尝试编写三个查询并使用.where("roles." + this.user.uid, "==", 0) 组合查询。这会起作用(尽管事后我遇到了一些数组问题),但我不想让每个查看此内容的用户拨打 3 次电话。
我在某处随机评论中看到您可以使用查询.where("roles." + this.user.uid, "<", ""),但这对我不起作用。
有没有办法编写一个查询来查看对象中的键是否存在?
【问题讨论】:
-
哇...一遍又一遍地阅读我的问题后,我意识到我通过使用数字作为角色完美地设置了自己。我现在使用查询
.where("roles." + this.user.uid, "<", 3)。查找用户 ID 存在且具有角色的任何事件