I'm implementing a like system in my app. So, the users can like a post posted by another user. Now, I'm storing the likes by creating a new collection with 2 attributes (userId and postId). The problem I'm facing is, how to know how many likes this post already has?
I looked up the docs to find a way to perform aggregation queries, but can't find any.
So, I thought of this solution, I will create an appwrite function which will be responsible for toggling the like on a post by a user. Whenever the user likes a post, I'm incrementing an integer totalLikes stored along with the post data.
For now, I'm doing this in an appwrite function, every time a user likes a post, I'm fetching the current likes count for that post, adding 1 to it, and then updating it back onto the database.
But, now again, I wasn't able to find a way to increment this variable atomically. Or is a race condition never going to happen, even for millions of users?
So, I have a couple of questions? 1. Does appwrite have support for aggregation queries? 2. In appwrite, is there any way to atomically increment values? I want something like this: update({ 'totalLikes': FieldValue.increment(1), }) 3. Is there any way to run transactions, just like in firebase?
@Steven Sorry for tagging but this is kinda urgent as this is affecting our development phase
If a certain user have reached the limit rate than how many hours or minutes the user have to wait to sign in again in cloud
Recommended threads
- DNS bug
Hello, we found bug at the Appwrite Cloud Domains, when changing **only ** the Comment of CNAME, we get error DNS record already exists. Some DNS types do not ...
- Duplicate Billing Issue – Charged Twice ...
Hi Appwrite team, I noticed that my card was charged twice for the subscription payment ($25 each), even though I only intended to make a single payment. Coul...
- DB Relational Table Request
Hi, I'd like to suggest a rewording of the relationships between tables. - Current wording: storeOperatingDays can contain one storeId ...