gpt4 book ai didi

android - Firebase 实时数据库查询检索数组中的记录 - Android

转载 作者:行者123 更新时间:2023-11-30 00:04:27 25 4
gpt4 key购买 nike

我有一个如下所示的实时数据库结构。用户有一些 friend 。例如,我是 Joe,我想获取有 Joe 好友的用户。

在这个例子中,Dave 和 Harry 有一个叫 Joe 的 friend ,所以我的查询应该获取 Dave 和 Harry 但不应该获取 Micheal。

有没有办法在不循环获取数据的情况下做到这一点?

{
"Users": {
"Joe": {
"Friends": ["Dave","Harry","Micheal"]
},
"Dave": {
"Friends": ["Joe","Jack","Brent"]
},
"Harry": {
"Friends": ["Jack","Joe"]
},
"Micheal": {
"Friends": ["Ken","Jack","Brent"]
}
}

最佳答案

Firebase 实时数据库无法跨 array 成员执行查询,以查看它是否在任何位置包含特定值或添加/删除记录。 Firebase 文档建议不要使用数组。 Firebase 不建议使用数组的众多原因之一是它使安全规则无法编写。

与 NoSQL 数据库一样:如果您无法使用当前数据结构执行所需的用例,通常可以更改/扩展数据结构以允许用例。最佳做法是使用 maps 而不是数组。可能的数据库结构如下所示:

"Users": {
"Joe": {
"Friends"
"Dave": true,
"Harry": true,
"Micheal": true
},
"Dave": {
"Friends"
"Joe": true,
"Jack":true,
"Brent": true

},
"Harry": {
"Friends"
"Jack": true,
"Joe": true
},
"Micheal": {
"Friends"
"Ken":true,
"Jack": true,
"Brent": true
}
}

大家也可以看看,here ,了解更多信息。

关于android - Firebase 实时数据库查询检索数组中的记录 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49256663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com