Hello, Appwrite team!
I'm having an issue with listDocuments when using query modifiers:
Environment:
- Self-hosted Appwrite (
Version 1.4.13) installed insideCaprover - Next.js (
node-appwrite@17.0.0)
Issue:
- The
listDocumentswithout any queries returns documents well - It fails when adding queries (even simple ones), I get 500 error
Example that fails:
TypeScript
const docs = await databases.listDocuments(
"db",
"recipes",
[
Query.equal("language", "en"),
Query.equal("status", "published")
]
);```
**What I've tried:**
Created indexes for all required attributes
Verified attributes exist in the collection
Tested with different query combinations
**Question:**
What could be causing queries to fail despite proper indexes? Are there special requirements for Enum attributes?
**Addintional DB Info:**
```json
{
"$id": "recipes",
"databaseId": "db",
"enabled": true,
"documentSecurity": false,
"attributes": [
"title",
"slug",
"description",
"prepTime",
"cookTime",
"servings",
"difficulty",
"authorId",
"tags",
"productIds",
"language",
"views",
"featuredImage",
"likes",
"status"
],
"indexes": [
{
"key": "status_idx",
"attributes": [
"status"
]
},
{
"key": "views_idx",
"attributes": [
"views"
]
},
{
"key": "createdAt_idx",
"attributes": [
"$createdAt"
]
},
{
"key": "status_views_idx",
"attributes": [
"status",
"views"
]
},
{
"key": "language_idx",
"attributes": [
"language"
]
},
{
"key": "status_createdAt_idx",
"attributes": [
"status",
"$createdAt"
]
},
{
"key": "language_status_idx",
"attributes": [
"language",
"status"
]
}
]
}
},```
TL;DR
Issue: `listDocuments` function with query modifiers is causing a 500 error despite having proper indexes.
Solution: Ensure there are no typos in the attribute names, and consider converting the Enum attributes to strings for compatibility.Recommended threads
- TOO_MANY_REDIRECTS after temporarily ena...
I am losing my mind over this, I enabled this setting because I was having issues with sites not making links with https. I enabled it, ran into issues, so I di...
- listRows result parsing issue
I'm using Appwrite Dart SDK "24.2.0". When I perform a listRows call in dart, I have this reponse in JSON: in " Future<models.RowList> listRows()" { "total" :...
- Index for combination of columns
How am i suppposed to apply index so that combination of two columns alwasy remain unique in appwrite table though console