AppwriteException: Invalid document structure: Missing required attribute "userId"
- 0
- Databases
- Accounts
- Web
- Users

I am getting this error at the line console.log("Error while creating a user in 'user' database, saveUserToDB: ", error); console.log(name, email, username, userId); prints two times, first time, it is printing the value of userId as expected but at the second time that prints undefined. But when I checked my collection, the records are getting created then why this error?
auth.js import { ID } from "appwrite"; import { account, avatars } from "./config"; import { saveUserToDB } from "./db";
export const createAccount = async ({ email, password, name, username }) => { try { const userAccount = await account.create(ID.unique(), email, password, name);
if (userAccount) {
console.log(userAccount.$id);
const avatarUrl = avatars.getInitials(name);
await saveUserToDB({ name: name, email: email, username: username, userId: userAccount.$id, imageUrl: avatarUrl });
return login({ email, password });
} else {
return userAccount;
}
} catch (error) {
throw error;
}
}
export const login = async ({ email, password }) => { try { const session = await account.createEmailSession(email, password); if (session) { return session } else { throw new Error("Failed to create a session"); } } catch (error) { throw error; } }
export const getCurrentUser = async () => { try { const currentUser = await account.getprefs(); return currentUser; } catch (error) { console.log("Appwrite error on getCurrentUser: ", error); } return null; }
export const logout = async () => { try { return await account.deleteSessions(); } catch (error) { console.log("Appwrite Service error on userLogout: ", error); } }

Another file db.js import { client, databases, storage, appwriteConfig } from "./config"; import { ID } from "appwrite";
export const saveUserToDB = async ({ name, email, username, userId, imageUrl }) => { try { console.log(name, email, username, userId); return await databases.createDocument( appwriteConfig.databaseId, appwriteConfig.userCollectionId, ID.unique(), { name, email, username, userId, imageUrl } ); } catch (error) { console.log("Error while creating a user in 'user' database, saveUserToDB: ", error); } }
Recommended threads
- Appwrite sites domain not updating
Whenever I commit and sync changes to my github repo which has my website. If i try to go to the domain that was given to me "https://nameofwebsite.appwrite.net...
- Sites - ETA
Hi I've requested Sites and I am currently on waiting list. Whats average ETA to be this available from requesting it? I am on Free tier atm.
- getFilePreview CORS Error but Database a...
Hi, I just noticed, that images i get using getFilePreview form Appwrite 1.6.2 (self hosted) are not shown anymore. I get "Response was blocked by CORB (Cross-O...
