KimhiOriginal post
Rank 1: Thread
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
Plain text
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); }};```Summary
Issue: Developer is encountering an exception 'Invalid document structure: Missing required attribute "userid"' while working on a register form for uploading a document to storage and creating a new document in the database.
Solution: Make sure to include a valid 'userid' attribute in the createDocument function when creating a new document in the database.