我在Firebase中有一个具有以下结构的数据库:
{
"chats" : {
"-L-hPbTK51XFwjNPjz3X" : {
"lastMessage" : "Hello!",
"timestamp" : 1512590440336,
"title" : "chat 1",
"users" : {
"Ol0XhKBksFcrYmF4MzS3vbODvT83" : true
}
}
},
"messages" : {
"-L-hPbTK51XFwjNPjz3X" : {
"-L-szWDIKX2SQl4YZFw9" : {
"message" : "Hello!",
"timestamp" : 1512784663447,
"userId" : "Ol0XhKBksFcrYmF4MzS3vbODvT83"
}
}
},
"users" : {
"Ol0XhKBksFcrYmF4MzS3vbODvT83" : {
"chats" : {
"-L-hPbTK51XFwjNPjz3X" : true
},
"email" : "mm@gmail.com",
"name" : "mm"
}
}
}
我的代码:
Database.database().reference().child("chats")
.queryOrdered(byChild: "users/(userId)").queryEqual(toValue: true).observe(.value, with: { snapshot in .... }
当我尝试聊天成员或用户聊天时,它会显示以下警告:
使用未指定的索引。您的数据将在客户端上下载和过滤。考虑在/ users处添加“.indexOn”:“chats / -L-hPbTK51XFwjNPjz3X”以获得更好的性能。
使用未指定的索引。您的数据将在客户端上下载和过滤。考虑在/ chats中添加“.indexOn”:“users / Ol0XhKBksFcrYmF4MzS3vbODvT83”以获得更好的性能。
我找到了很多解决方案,但对我来说一切正常。我想在我的数据库中定义IndexOn规则,你能帮助我吗?