Soh*_*eil 4 firebase firebase-realtime-database
我一直在控制台上获取firebase消息,以便在聊天规则中为用户4321添加indexOn.下面是我的数据库.
而我在firebase中的规则如下:
{
"rules": {
".read": "auth != null",
".write": "auth != null",
"users": {
".indexOn": ["name", "email","uid"],
"$uid": {
".write": "$uid === auth.uid"
}
},
"chats": {
"$key": {
".indexOn": ["uid"]
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我不确定为什么索引不起作用.如何改进整个数据库的索引?
您当前的数据结构只允许轻松列出聊天室的所有成员,而不是相反.这可能是您收到该消息的原因,因为如果您要列出用户所属的所有聊天,您必须搜索所有/chats记录.
您可能需要在/chat/<chat-id>/members和处复制聊天室成员资格数据/users/<uid>/groups.您的案例几乎与Firebase指南中的案例完全相同- 请特别阅读链接部分中的代码,但最好阅读整篇指南,这真的有助于我了解数据库的工作原理.
顺便说一句:您在聊天中的规则:".indexOn": ["uid"]对您发布的样本数据不做任何处理.它说"按其uid属性索引聊天室",但你的聊天室uid里面没有密钥(意思是uid: 'someid',没有'someid': true).有关索引如何工作的详细信息,请参阅索引指南.
| 归档时间: |
|
| 查看次数: |
7353 次 |
| 最近记录: |