Getting this Error-AppwriteException: Invalid document structure: Missing required attribute "image"
- 0
- Web

When i am trying to create post i get this error. My image is being uploaded to storage in Appwrite but my post is not being created. please help asap.

What's the code and database structure?

it is showing error for this code area-const newPost = await databases.createDocument( appwriteConfig.databaseId, appwriteConfig.postCollectionId, ID.unique(), { creator: post.userId, caption: post.caption, imageUrl: fileUrl, imageId:uploadedFile.$id, location: post.location, tags: tags }


You have an attribute who is image instead of imageUrl and you're not specifying it. So that should be the solution:

appwriteConfig.databaseId,
appwriteConfig.postCollectionId,
ID.unique(),
{
creator: post.userId,
caption: post.caption,
image: fileUrl, //This is what changed
imageId:uploadedFile.$id,
location: post.location,
tags: tags
}

Also, a small suggestion: i'ts not needed to save the entire image url if you have the fileID since you can recreate the URL by having the image ID

after change this is what shown in console

Looks like it's not an URL?

You could try to do console.log and see if it's or not an url here:
console.log(fileUrl);
appwriteConfig.databaseId,
appwriteConfig.postCollectionId,
ID.unique(),
{
creator: post.userId,
caption: post.caption,
image: fileUrl, //This is what changed
imageId:uploadedFile.$id,
location: post.location,
tags: tags
}
Recommended threads
- WebSocket reconnecting issues – Realtime...
Hello! I am experiencing a problem with the Realtime API. My frontend is constantly reconnecting to the WebSocket server, and as a result Realtime is not worki...
- dns issue with custom domain
im getting this, but i can access the appwrite through http://new.theasians.co.uk/console/ which is http but im not getting https, i deployed in vps through hos...
- updateDocument() throws "document_alread...
Hi guys, im using server sdk to update appwrite attribute value which relationship type. But facing "document_already_exists", may i know why?
