我试图找到一种方法可以查询我的应用程序中的用户。例如,如果我的用户想要搜索用户将他添加为朋友。我想我可以保存Firebase数据库中的所有用户,然后在数据库中执行查询,但它看起来非常低效(并且必须有一个更简单的内置方法来执行此操作)。
答案 0 :(得分:0)
" .indexOn"是你的解决方案!!
如果您按照以下方式构建日期,则可以查询用户!!在这里,您可以在full_name和reversed_full_name上查询用户。您可以提供要查询的孩子。例如,您可以在人员下添加电子邮件字段,然后添加" email" in" .indexOn" !!!
"people": {
".indexOn": ["_search_index/full_name", "_search_index/reversed_full_name"],
".read": true,
"$uid": {
".write": "auth.uid === $uid",
"full_name": {
".validate": "newData.isString()"
},
"profile_picture": {
".validate": "newData.isString()"
},
"posts": {
"$postId": {
".validate": "newData.val() === true && newData.parent().parent().parent().parent().child('posts').child($postId).exists()"
}
},
"_search_index": {
"full_name": {
".validate": "newData.isString()"
},
"reversed_full_name": {
".validate": "newData.isString()"
}
},
"following": {
"$followedUid": {
".validate": "newData.parent().parent().parent().parent().child('followers').child($followedUid).child($uid).val() === true" // Makes sure /followers is in sync
}
}
}
希望这会有所帮助。这是指从Firebase https://github.com/firebase/friendlypix/blob/master/web/database-rules.json
提供的整个安全规则的链接