Here’s a way that works flawlessly and fast, and doesn’t let anyone like anything more than once. Create a list of users inside the Thing (Liking users). When a user clicks like, if the list doesn’t contain current user, add current user to the list. If the list contains current user, remove the user from the list.

Alternatively, inside current user, create a list of liked things and you can toggle adding it removing the thing from the list.

Or you can do both.

For better efficiency in fetching, you can create things “user details” or “thing details” linked to the respective user or thing and add these lists inside those things. This makes fetching faster (because the user and thing remains lean)

In this way, you don’t need to even set or search for IDs, and it works instantaneously.

My at app is on the lowest paid tier, and my understanding is that it is no different from the free tier in terms of the capacity or speed.