Trouble with Updating Document in Appwrite: "Document Data and Permissions Missing" Error
- 0
- Databases
- Functions
Hey Appwrite community 👋,
I’m working on a Python function to decrease user credits, but I keep running into an error when calling the update_document method. Here's the error I’m getting:
[ERROR] Error processing request: Error decreasing user credits: The document data and permissions are missing. You must provide either document data or permissions to be updated.
Here’s a snippet of the code I’m using:
try:
document = self.database.get_document(
database_id=self.db_id,
collection_id=collection_id,
document_id=document_id
)
logger.info(f"User credits: {document['credits']}")
free_credits = document['credits'] - 1
logger.info(f"Decreasing user credits to: {free_credits}")
data = {'credits': free_credits}
self.database.update_document(
database_id=self.db_id,
collection_id=collection_id,
document_id=document_id,
data=data,
permissions=[
Permission.read(Role.user(document_id))
]
)
except Exception as e:
raise Exception(f"Error decreasing user credits: {str(e)}")```
What I’ve Tried:
1. Ensured that data is a dictionary with the credits field.
2. Attempted to pass permissions correctly.
3. Printed and verified the data and permissions before calling update_document
Despite these efforts, the error persists. 🥲
Recommended threads
- IMPORTANT! SOC-2 Request Failing
Issue requesting SOC-2. If tried other/private browser as well as filling in optional fields.
- Appwrite-injected variables are not avai...
I am using rust-1.83 as a runtime and try to access APPWRITE_FUNCTION_API_ENDPOINT or APPWRITE_FUNCTION_API_KEY during runtime. Both are not set during my execu...
- Can you suppress row $meta data?
When using listRows with a 'select' query to limit the response [for performance], I'm still getting extra columns (eg. `$id`, `$sequence`, `$createdAt`, `$upda...