I have defined an attribute that is an array of strings. Now, I would like to know how to add a new string element to the array. What would be the appropriate query or method to accomplish this?
How to update an array attribute?
The example for that it would be something like this, will assume the field phones is an array and you'll like to add one phone.
const newPhone = '131331';
try {
// Get the current document
const doc = await database.getDocument('[DATABASE_ID]', '[COLLECTION_ID]', '[DOCUMENT_ID]');
// Updating the document. adding the phone at the end of the array attribute
await const promise = databases.updateDocument('[DATABASE_ID]', '[COLLECTION_ID]', '[DOCUMENT_ID]',{
phones: [...doc.phones, newPhone]
});
} catch (e) {
// handle error.
}
but everytime a unique documentid goes in the DB so how do we get that ??
i approached it something like this const promise0 = await databases.listDocuments('DATABASEID', 'COLLECTIONID', [ Query.equal('Email', Email) ]);
if (promise0.total === 1) { let arr = promise0.documents[0].writtenthings; arr.push(content); const promise = databases.updateDocument( 'DATABASEID', 'COLLECTIONID', promise0.documents[0].$id, { writtenthings: arr } ); }
if (promise0.total === 0) { const arr = [content]; const promise = databases.createDocument( 'DATABASEID', 'COLLECTIONID', 'unique()', { Email: Email, writtenthings: arr } ); }
[CLOSED] How to update an array attribute?
Recommended threads
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...
- Get team fail in appwrite function
I try to get team of a user inside appwrite function, but i get this error: `AppwriteException: User (role: guests) missing scope (teams.read)` If i try on cl...