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
- Error can not create `tablesdb` event wi...
When i'm trying to add an event with `tablesdb` i get an error message My event value: `tablesdb.mtg-decklist-dev.tables.queue_parsing.rows.*.create` Same err...
- GitHub Student Login Loop Issue
signed up using my GitHub Student Developer Pack. However, whenever I click "Sign in with GitHub", I get stuck on the login page. No matter how many times I try...
- Google OAuth Not Working on Brave/Firefo...
I'm having an issue with Google OAuth in my React + Appwrite app. After login, the dashboard is accessible only in Microsoft Edge, but fails in Brave and Firefo...