I am using firebase for real time chat. But now I am facing problem in data sorting, like in web whatsapp we get user with latest time displayed on top same way I want to display.
This is how i save data in firebase :
                                var rootRef = firebase.database().ref();
                                var storesRef = rootRef.child('messages');
                                var adminref = storesRef.child(username);
                                var newStoreRef = adminref.push();
                                newStoreRef.set({
                                    "file": "",
                                    "id": senderid,
                                    "message": chatdata,
                                    "time": chattime,
                                    "timestamp" : nowTimestamp,
                                    "name": senderName
                                });
and then i retrive data like this
   $(document).ready(function(){
        var rootRef = firebase.database().ref().child("users");
        rootRef.on('value', function(snapshot) 
        {
            snapshot.forEach(function(childSnapshot) 
                {
                    console.log(childSnapshot);
                    var name = childSnapshot.key;
                    var childData = childSnapshot.val();
                    //console.log(childData);
                    if($('#'+name).length) {
                        return;
                    } else {
        var rootRef = firebase.database().ref().child("messages").child(name);
                            var html = '';
                            var username = name ;
                            var userid = childData.id;
                            rootRef.limitToLast(1).orderByChild('timestamp').on('child_added', function(snapshot) 
                            {
                                     var name = snapshot.key;
                                     var childDatamsg = snapshot.val();
                                     $('#'+username).remove();
                                     //document.getElementById(username).remove();
                                     $("#users").prepend('<div class="row sideBar-body userchat" data-id="'+userid+'" onclick="showDiv()" id="'+username+'"><div class="col-sm-3 col-xs-3 sideBar-avatar"><div class="avatar-icon"><img src="http://chat.synetal.com/assets/user2.jpg"></div></div><div class="col-sm-9 col-xs-9 sideBar-main"><div class="row"><div class="col-sm-8 col-xs-8 sideBar-name-align" id="chat"><span class="name-meta">'+ username +'</span></div><div class="col-sm-4 col-xs-4 pull-right sideBar-time-align"><span class="time-meta pull-right">'+childDatamsg.time+'</span></div><div class="col-sm-10 col-xs-10 sideBar-message-align"><span class="sideBar-last-msg">'+childDatamsg.message+'</span></div><div class="col-sm-2 col-xs-2 pull-right sideBar-time-align"><span class="sideBar-msg-counter pull-right" style="">1</span></div></div></div></div>');
                                     // $(this).attr('data-id').remove();
                            });
                       }
                });
        }); 
});
I want to sort data from timestamp but in result i am getting the first message but i want last message which is sorted acc to timestamp

