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 400: redirect_uri_mismatch
Hi team, Google OAuth was working fine with our Appwrite Cloud setup until yesterday. We did not change any configuration in Appwrite, Google Cloud, or our cod...
- Bulk delete failed with 401
- I created a transaction to bulk delete rows in a table has `done` equal `true` follow documentation. But when run, it returns 401 unauthorized error as screen...
- Google Auth not working in a React App
Authentication with Google has failed. It redirects back to the signin route in React. Attached screenshots for configuration of Google console and Appwrite Go...