ios - Querying 1:1 private rooms efficiently with Firebase -


i using firebase , trying build 1:1 conversations. rooms, used structure this:

- rooms    - "user1_user2"  // roomname       - timestampedid1         - message: "hello"         - sender: "user2"       - timestampedid2         - message: "hey"         - sender: "user1"     - "user2_user3"       - timestampedid3         - message: "mew"         - sender: "user3" 

for room names, used (which got answer):

let roomname = (from<to ? from+"_"+to : to+"_"+from) 

however, trying retrieve, , got confused. firebase, proper structure of creating private rooms , retrieving them?

should store 'from' , 'to' individually inside 'roomname' node? if so, how can compare them , list them descending timestamp (new old)? think there should way of doing 1 request. how can 'roomname' approach? or there other better way achieve it?

let roomref = firebase(url: self.url + "/rooms")  // query?               .observeeventoftype(.value, withblock: { details in    }) 

what proper way of handling kind of case? should change structure or there way query properly?

i structure follows , have 3 nodes: roommembers, chat , lastmessages:

roommembers   user1iduser2id     user1id: true     user2id: true  chat   user1iduser2id     -kiypwddfaa6gxmlwljb         message       userid       etc  (-kiypwddfaa6gxmlwljb  childbyautoid() timestamp)  lastmessages      user1id          user1iduser2id             lastmessage             lastuser             etc.      user2id          user1iduser2id             lastmessage             lastuser             etc.