Rank 1: Thread
Hello ! Can you tell me if the function I wrote is well optimized or not ?
It have to generate Unique ID like "AZ45DF" for documents when inserting.
Thank you for your returns.
const payload = JSON.parse(req.variables["APPWRITE_FUNCTION_EVENT_DATA"]); const { $id, $collectionId } = payload;
if (!payload.hasOwnProperty("id")) return console.error("No ID attribute in this collection");
let uniqueId = "";
while (true) { for (let i = 0; i < 6; i++) { const randomIndex = Math.floor(Math.random() * characters.length); uniqueId += characters[randomIndex]; }
const idQuery = [ sdk.Query.equal("id", uniqueId), ]; const requestIds = await databases.listDocuments( req.variables["USERS_DATABASE_ID"], $collectionId, idQuery ); const responseIds = requestIds.documents; if (responseIds.length === 0) { break; } else { uniqueId = "" } } const json = { id: uniqueId }; await databases.updateDocument(req.variables["USERS_DATABASE_ID"], $collectionId, $id, json) res.json({ success: true, });}