Firebase+;通过指定的子密钥进行REST API WEB筛选
按PC“流派”过滤-作品,示例RPG如下。按“流派”Android-works过滤,下面是RPG示例。在PC和Android上对RPG“流派”提出一般要求是行不通的。 Firebase:Firebase+;通过指定的子密钥进行REST API WEB筛选,firebase,firebase-realtime-database,Firebase,Firebase Realtime Database,按PC“流派”过滤-作品,示例RPG如下。按“流派”Android-works过滤,下面是RPG示例。在PC和Android上对RPG“流派”提出一般要求是行不通的。 Firebase: "PC" : [ { "Games" : [ { "genre" : "rpg", "id" : "001", "name" : "2 peaks" }, { "genre" :
"PC" : [ {
"Games" : [ {
"genre" : "rpg",
"id" : "001",
"name" : "2 peaks"
}, {
"genre" : "action",
"id" : "002",
"name" : "3 peaks"
}, {
"genre" : "quest",
"id" : "003",
"name" : "4 peaks"
}, {
"genre" : "rpg",
"id" : "004",
"name" : "5 peaks"
} ],
"description" : "PC"
} ],
"sourceId" : "1"
}, {
"Android" : [ {
"Games" : [ {
"genre" : "action",
"id" : "001",
"name" : "2 peaks"
}, {
"genre" : "quest",
"id" : "002",
"name" : "3 peaks"
}, {
"genre" : "rpg",
"id" : "003",
"name" : "4 peaks"
}, {
"genre" : "action",
"id" : "004",
"name" : "5 peaks"
} ],
"description" : "Android"
} ],
"sourceId" : "2"
规则:
"rules": {
".read": "true",
".write": "true",
"Test": {
".indexOn": ["Games/genre"],
"$uid": {
"PC": {
"$uid": {
"Games": {
".indexOn": ["genre"]
}
}
},
"Android": {
"$uid": {
"Games": {
".indexOn": ["genre"]
} } } } }
请求:
"rules": {
".read": "true",
".write": "true",
"Test": {
".indexOn": ["Games/genre"],
"$uid": {
"PC": {
"$uid": {
"Games": {
".indexOn": ["genre"]
}
}
},
"Android": {
"$uid": {
"Games": {
".indexOn": ["genre"]
} } } } }
工作
请求:
"rules": {
".read": "true",
".write": "true",
"Test": {
".indexOn": ["Games/genre"],
"$uid": {
"PC": {
"$uid": {
"Games": {
".indexOn": ["genre"]
}
}
},
"Android": {
"$uid": {
"Games": {
".indexOn": ["genre"]
} } } } }
xxx.firebaseio.com/Test/1/Android/0/Games.json?orderBy=“genre”和equalTo=“rpg”
工作
但是电脑和安卓系统上的过滤器立即不起作用:
xxx.firebaseio.com/Test.json?orderBy=“Games/genre”和equalTo=“rpg”
- 没有错误,只是什么都没有返回
".indexOn": ["Games/genre"],
这就是问题所在。我不知道你到底想让它在这里做什么。。但你不会在indexOn上大砍一刀
这就是问题所在。我不知道你到底想让它在这里做什么。。但你不会在indexOn上大砍一刀