我如何构建firebase,以便能够按可用性和日期搜索所有用户

我如何构建firebase,以便能够按可用性和日期搜索所有用户,firebase,firebase-realtime-database,angularfire2,nosql,Firebase,Firebase Realtime Database,Angularfire2,Nosql,我试图找出如何为与用户可用性相关的应用程序创建浅层firebase数据结构 该应用程序的背景是,雇主可能希望将临时帮助外包出去。该应用程序允许用户/承包商按日期和地区发布其可用性。。。现在不太关心这个地区 我如何构建应用程序,以便雇主可以按日期/地区搜索,并查看所有表示他们可用的用户 假设用户可以随时更改其可用性及其非连续性。他们只能说我在特定的日期列表中可用,如: pseudo code Availability UserA: [ 03/01/2017, 03/14/2017, 04/01/

我试图找出如何为与用户可用性相关的应用程序创建浅层firebase数据结构

该应用程序的背景是,雇主可能希望将临时帮助外包出去。该应用程序允许用户/承包商按日期和地区发布其可用性。。。现在不太关心这个地区

我如何构建应用程序,以便雇主可以按日期/地区搜索,并查看所有表示他们可用的用户

假设用户可以随时更改其可用性及其非连续性。他们只能说我在特定的日期列表中可用,如:

pseudo code

Availability UserA: [ 03/01/2017, 03/14/2017, 04/01/2017 ] 
Availability UserB: [ 03/14/2017, 03/15/2017, 04/06/2017 ] 
Availability UserC: [ 03/01/2017, 03/14/2017, 04/07/2017 ] 
我是创建一个可用性节点并在其中按id添加用户并对其进行查询,还是查询所有用户并在用户节点中为每个用户提供可用性

顺便说一下,我将使用AngularFire2


谢谢

如果雇主按日期搜索,则按地区搜索,最简单的数据模型是
/availablencotractors/$date/$region/$uid
。如果他们更可能先从一个地区开始,然后是一个日期,那么将其建模为
/AvailableContractors/$region/$date/$uid
可以让您获得一个地区的日期范围(如果您以字典排序格式存储日期,例如
2017-03-14
)。@frankvanpoffelen谢谢!我很难想象这一切。因此,顶部节点是可用的,然后在它下面有所有未来的日期,然后是区域,然后是UID?我错过了一些东西…是的,这是第一个选择。第二个选项反转区域和日期。这真的很有趣。许多用户可以在同一天使用。。。因此,沿着该路径,您将显示所有这些用户。我还假设,一旦用户说他们可以使用,您只需添加一个新的$日期,一旦某个日期没有更多可用用户,您就可以删除。@FrankvanPuffelen因此,每个承包商都需要能够在视图上更新他们的可用性。所以它可能是/contractors/$uid/availability。。您将如何使其与/AvailableConnectors/$region/$date/$uid保持同步?多路径更新功能是否适用于此?