I have a DB in Firebase with this structure:
{
  "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"
    }
  }
}
My code:
Database.database().reference().child("chats")
  .queryOrdered(byChild: "users/(userId)").queryEqual(toValue: true).observe(.value, with: { snapshot in .... }
When I try to get chat members or user chats, It shows this warnings:
- Using an unspecified index. Your data will be downloaded and filtered on the client. Consider adding ".indexOn": "chats/-L-hPbTK51XFwjNPjz3X" at /users to your security rules for better performance. 
- Using an unspecified index. Your data will be downloaded and filtered on the client. Consider adding ".indexOn": "users/Ol0XhKBksFcrYmF4MzS3vbODvT83" at /chats to your security rules for better performance. 
I found lots of solutions but anything works fine for me. I want to define IndexOn rules in my DB, Can you help me?
 
    