Filtering chatlog messages Firebase

Hi, I have a chat log in my app that currently shows all messages for the user when I drill into the main message.

So for instance, kind of like this:


Item1 messages = Message1 for Item1 by User1 + Message2 for Item 2 by User1 + Message 3 for Item 3 by User1


I would like to do the following:

Item1 messages = Message1 for Item1 by User1

Item2 messages = Message2 for Item2 by User1

Item3 messages = Message3 for Item3 by User1



I have added a Filter column with UserID_ItemID see my code:

theFilter = event.addedBy+"_"+event.key
//test value that matches
theFilter = "OU2pqczlpDOx4KBMSOSlj82cmv02_FB95F2E3-9F45-4295-86E2-0B78EA5F5C48"
        print("the Filter: \(theFilter)")
        let userMessageRef = Database.database().reference().child("item-messages").child("user-messages").child(uid)
        userMessageRef.observe(.childAdded, with: { (snapshot) in
        let messageId = snapshot.key
            let messagesRef = Database.database().reference().child("messages").child(messageId)

            var query = messagesRef.queryOrdered(byChild: "theFilter").queryEqual(toValue: self.theFilter)


            query.observeSingleEvent(of: .value, with: { (snapshot) in
                guard let dictionary = snapshot.value as? [String: AnyObject] else {
                    return
                }
   
                let message = Message(dictionary: [:])
                message.setValuesForKeys(dictionary)
   
   
                if message.chatPartnerId() == self.user?.id{
                    self.messages.append(message)
                    DispatchQueue.main.async(execute: {
                        self.collectionView?.reloadData()
                    })
                }
   
   
            }, withCancel: nil)
        }, withCancel: nil)

    }


I am not getting any error just no messages being shown?!

any help is much appreciated here

Filtering chatlog messages Firebase
 
 
Q