Appwrite :: getLikesByUserIdAndPostId :: error AppwriteException: Invalid `documentId` param: UID m
- 0
- Web
const getLikesByUserIdAndPostId = async( userId: string, postId: string) => { try { console.log("userId ",userId,"postId ",postId); const query = Query.and([ Query.equal("userId", userId), Query.equal("postId",postId) ]) const likes = await db.getDocument( palettegramDB, likesCollection, query ) return !!likes; } catch (error) { console.log("Appwrite :: getLikesByUserIdAndPostId :: error ",error);
}
}
If you're using queries, you need to use listDocuments()
instead. getDocument()
can only be used if you are fetching a single document that you have the ID of already
I want to check whether userId with postId is present in the collection or not. Thats why I am using Query.and()
So you want to get a list of documents that have a specific userId and postId?
It will only be a single entry, not multiple
That shouldn't matter, it'll just return the one entry if there is only one. If you are doing anything with queries or you do not already know the ID of the document, you will need to use listDocuments()
to fetch the data
after using listDocuments() its giving Argument of type 'string' is not assignable to parameter of type 'string[]'. forquery
Wrap your query
variable in an array, like this
const likes = await db.listDocuments(palettegramDB, likesCollection, [query]);
ok
Recommended threads
- How to Avoid Double Requests in function...
I'm currently using Appwrite's `functions.createExecution` in my project. I want to avoid double requests when multiple actions (like searching or pagination) a...
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...