设置.indexOn而不知道firebase

时间:2017-08-01 16:19:13

标签: json firebase firebase-realtime-database firebase-security

我正在开发一个用于学习目的的示例应用,它是一个聊天应用。 firebase数据库中的数据结构如下所示。我的问题是,我需要能够根据他们的createdOn键来订购消息,但是从数据库结构中可以看出,我无法提前知道消息的完整路径,因为每次用户启动时新的私人聊天它将创建一个新的路径,消息将在新的路径中。有没有办法在顶级父级设置索引,并过滤到较低级别? 数据库结构......

{
  "chat": {
    "channels": {
      "{CHANNELID}": {
        "title": "public channel",
        "description": "A meeting place",
        "createdOn": {new Date().getTime()}
      },
      ...
    },
    "private_chat": {
      "{USERID}": {
        "channels": {
          "{CHANNELID}": "{USERID}",
          ...
        },
        "messages": {
          "{CHANNELID}": {
            "{MESSAGEID}": {
              "from": "{USERID}",
              "createdOn": {new Date().getTime()}
              "message": "Hi There"
            },
            ...
          },
          ...
       }
     },
     ...
    }
  }
}

所以,我会得到" / chat / private_chat / {user_id} / messages / {channel_id}"然后按" createdOn"订购,但就像我说的那样,我无法知道在数据库中创建索引的完整路径。有没有办法将其设置为" / chat / private_chat"然后它会自动过滤给孩子? 谢谢。

0 个答案:

没有答案