AppwriteException: Invalid query: Cannot query search on attribute "tags" because it is an array.
why? because everything is working fine. how to solve it because my website is in the production
this is my code
async searchResultsBytags(tag: string) {
try {
return await this.databases.listDocuments(
conf.appwriteDatabaseId,
conf.appwriteCollectionId,
[
Query.orderDesc("$createdAt"),
Query.select(["title","$id"]),
Query.equal("tags", "${tag}"),
Query.equal("status", "Approved"), // Add this condition
Query.limit(8),
]
);
} catch (error) {
console.error("appwrite service :: CategoryBegginersInfo 3 :: ", error);
return false;
}
}
Hello there 👋 This may be coming from our end, allow me few minutes to check it please 🙏
Can you please do me a favour? If you visit Appwrite Console and look at attributes tab of your collection, what type&length is the tags attribute? Also, can you please provide me some sample value of any of your documents? To better imagine the situation
Btw, it's best to use 3 back ticks with multi-line code. See https://www.markdownguide.org/extended-syntax/#syntax-highlighting
Where's the search query? 🧐
I think it's equal on array attributes that also cause trouble. Need to verify
length is 255
Thank you so much for confirming 🙏 Let's see if this fixes it:
- In your App, upgrade to latest Appwrite SDK. For web, that is
npm install appwrite@14.0.1 - Switch from:
Query.equal("tags"...
to:
Query.contains("tags", tag)
okay let me check
thanks a lot . it worked
Amazing. Sorry for the trouble; we will add a fix to prevent this sudden error. Query.contains() is intentional, so you can feel safe with this implemented 🙌
wait
now its giving me this error
Type error: Property 'createEmailSession' does not exist on type 'Account'. Did you mean 'createSession'? 60 | async login({ email, password }: LoginUserAccont) { 61 | try {
62 | return await account.createEmailSession(email, password); | ^ 63 | } catch (error: any) { 64 | throw error; 65 | } Error: Command "npm run build" exited with 1
on build
Recommended threads
- 1.8.1 - Databases - inline updating a ro...
When updating a database field via the inline edit method, the `$updatedAt` column does not get updated. Only if the row is updated by the "Update" interface (t...
- Build failed
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
- Other DateTime Columns Are Saved Incorre...
When opening a row’s details from the console and editing any field, the timestamps of other DateTime columns are being automatically changed and incorrectly sa...