Hello! A few short months ago, we decided to migrate from SupaBase over to Appwrite, because we were experiencing a lot of headache with the former when it finally came to self-hosting the database in our production environment. Ever since moving to Appwrite, everything has been very smooth sailing regarding our self-hosted deployment. We keep being amazed at how well made Appwrite is, and how good the developer experience is.
However, there is one missing feature that we currently foresee to cause problems when scaling and expecting more data in our database; that is: queries on relationship attributes. We find it a little concerning that this feature is still missing after all this time.
- https://github.com/appwrite/appwrite/discussions/7369
- https://appwrite.io/threads/1306626993189687390
- https://appwrite.io/threads/1187964833228927016
Our current workaround (which is also mentioned in one of the posts) is to basically fetch ALL data, and then perform the filtering manually (in the code). But this has us concerned for performance reasons: (i) we fetch way more data than we know we need, since we already know we will be filtering it later on; (ii) the manual filtering itself also adds extra overhead since we have to iterate through all the documents.
To give one example, without going too much in detail, we have sessions that are linked to clients using a relationship (=sessions collection has a relationship attribute to the clients collection). We want to get all sessions for a given client. Simple? This is currently impossible, since we need to query the sessions based on the referenced client. Thus, we have to retrieve ALL sessions, and then manually filter for the given client.
Since querying on relationships is not supported, and I currently see no other sensible workaround, I mainly come here to ask WHEN we can expect this rather critical feature to be released?
Recommended threads
- Invalid query: Query on attribute has gr...
I cannot view the table within the Console
- Relations within the same table
Hello, I'm currently building a sort of dictionary (a literal one) and thus I need words (which is one single table of words in my database) to be able to have ...
- [SOLVED] Query.search() returning all ro...
When I use Query.search() instead of returning rows with the keywords provided it just returns all the rows in the table.