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
- SELF HOSTING ISSUE, DATA NOT MIGRATING T...
Hey, devs, I recently tried to migrate my cloud instance to a self hosted version but my data is not transferred fully only the table structure is transferred ...
- No Document ID?
Hi I have a self hosted appwrite. My documents get a document ID but are not visible in the console. I don't know why this happens and how to fix this
- AppwriteException: Invalid query: Query ...
```js console.log(typeof interaction.user.id) console.log(interaction.user.id) const user_check = await TablesDB.listRows({ databaseId: "db", ...