Hi,
Im working on a register form where I need to upload a document to a storage as well as creating a new document in my database.
For some reason I get an exception saying 'Invalid document structure: Missing required attribute "userid"' , My confusion is that I dont need to send any userId in databases.createDocument or storage.createFile so Im confused where am I missing this attribute
identificationDocument,
...patient
}: RegisterUserParams) => {
try {
// Upload identification file to appwrite storage
let file;
if (identificationDocument) {
const inputFile =
identificationDocument &&
InputFile.fromBuffer(
identificationDocument?.get("blobFile") as Blob,
identificationDocument?.get("fileName") as string
);
file = await storage.createFile(
process.env.NEXT_PUBLIC_BUCKET_ID!,
ID.unique(),
inputFile
);
const newPatient = await databases.createDocument(
process.env.NEXT_PUBLIC_DATABASE_ID!,
process.env.NEXT_PUBLIC_PATIENT_COLLECTION_ID!,
ID.unique(),
{
identificationDocumentId: file?.$id ? file.$id : null,
identificationDocumentUrl: file?.$id
? `${process.env.NEXT_PUBLIC_ENDPOINT}/storage/buckets/${process.env.NEXT_PUBLIC_BUCKET_ID}/files/${file.$id}/view??project=${process.env.NEXT_PUBLIC_PROJECT_ID}`
: null,
...patient,
}
);
return parseStringify(newPatient);
}
} catch (error) {
console.log(error);
}
};```
Can you share a screenshot of your patient collection's attributes?
You're following JS Mastery's "Build and Deploy a Patient Management System with Next.js" tutorial (https://www.youtube.com/watch?v=lEflo_sc82g) huh?
Recommended threads
- DB connection | Got timeout reading comm...
When looking at the logs of `appwrite-mariadb` I'm seeing a lot of: ``` 2026-04-09 7:37:28 10 [Warning] Aborted connection 10 to db: 'appwrite' user: 'appwrit...
- Invalid document structure: Unknown attr...
Environment: Dart version: 3.5.1 dart_appwrite: 13.0.0 I’ve already created the database structure using a Dart function. I can create data records using cloud...
- Help with nameservers
I just added our domain, and as per instruction in the page following, it says, "Add the following nameservers on your DNS provider. ..." I want to keep my cu...