我正在android中构建一个应用程序,该应用程序列出了所有即将发布的视频游戏,并且我将Firebase实时数据库用作后端,但是我对查询数据库以获取所需的确切数据的方式感到有限。例如,用户可以选择他希望即将发布的视频游戏开启(发布)的平台列表。他可以选择多个平台,这意味着一个或多个。
这是我数据库中的一个代表游戏列表的对象
1369: {
"src": "Images/dead.png",
"name": "red dead 2",
"date": 2018-10-29,
"region": 2,
"platforms": "[12, 13, 54]"
},
1370: {
"src": "Images/pokeom.png",
"name": "Pokemon",
"date": 2018-10-31,
"region": 2,
"platforms": "[13, 54]"
}
您会看到两种游戏都在多个平台上发布,并且当用户选择仅获取平台ID为 12 的游戏时。如果没有正确的查询,Firebase仍会下载所有内容。而且在数据库中只有一个平台为 12 的游戏,我如何查询以仅获得具有 12 在其平台列表中,因为firebase仍将下载整个数据库。如果我选择按客户端的平台进行筛选,这将使我浪费大量资源,因为我将仅使用Spark计划,谢谢。