I have the following query List<String>? rackQuery = [
Query.equal("facility_fk", document_id),
Query.equal("rack_fk", absolutePosition),
]; According to the docs, this is an OR query. What is the exact syntax for an AND query? Also, if I understand correctly, both attributes must part of a combined index.
Hey there 👋 WHat you provided is AND query. In SQL world, this would look like facility_fk = document_id AND rack_fk =absolutePosition.
This is how you achieve OR queries:
List<String>? rackQuery = [
Query.equal("facility_fk", [docId1, docId2, docId3]),
];
it would result in facility_fk = docId1 OR facility_fk = docId2 OR facility_fk = docId3.
Doing OR between multiple keys is not possible at the moment. I have seen people solving this by introducing a new attribute that is only used for querying.
For example, let's say I want a feature of "verified" articles.. And I want to query only verified articles. Let's say an article is considered verified if the length is > 1500 chars, or if it has at least 5 tags..
How I would recommend to do it is to introduce new attribute called verified and every time a document is created/updated, I would do the check client-side (or server-side with Appwrite Functions and events). In the check I would look at length and tags. Based on that, I set verified to true or false.
Later, to query only verified ones, I would do [ Query.equal("verified", true) ].
Makes sense?
Recommended threads
- Quota not resetting
hi, im using appwrite's free tier plani hit my read limts last month and the billing cycle said it would reset on june 4th but that is today, the billing cycle ...
- Request for temporary 3 to 4 hours datab...
Hi Appwrite Team, I hope you are doing well.We are an early-stage startup currently running on Appwrite Cloud. We have unfortunately exhausted our database rea...
- Realtime Error Invalid query: Syntax err...
I was test driving Self-Hosted Appwrite for my use with Swift IOS apps as a backend while back and after successful trials, I started to move to incorporate int...