我正在开发一个用于学习目的的示例应用,它是一个聊天应用。 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"然后它会自动过滤给孩子? 谢谢。