i dont have a specific reference to this, for example i have a unique attribute in a collection of type integer and i want to create that attribute based on a range lets say 250-500 if was to do query.lessthanequal 500 query.greaterthanequal 250 i would have to list all the documents just to check if that integer is occupied so i can create one in that range am i right? i think thats a heavy approach i may be missing something here
You can just create and get error if the ID is occupied
ive thought of thise but then i would iterate until i find one document that doesnt have that int occupied
Yes that sounds as a bummer I don't think you have a way to do it in AppWrite database engine What I would suggest is that you create a flag collection with the last ID as integer and go from there
can you explain how a flag collection works? is it just that integer as doc id and then how would i query for the ascending doc in a collection?
It's just a logic offer What I mean Let's say you have Database Website Collection Users when each user id can be only between 250-500 Then you create a second collection named Flags with the attributes name, value and you add a document with the balues name last_inserted_id value 250
Then in your code you first fetch this data like so
const MAX_USERS_ID = env['MAX_USERS_ID'] ?? 500;
const lastID = getLastID() // In this function you will connect to database and get the value
if(lastID >= MAX_USERS_ID){
throw "We don't accept any new users"
}
if(createNewUser(++lastID)) {
updateLastID(lastID);
}
i think this is a really good approach thank you for sharing
[SOLVED] creating unique attribute values by range-integer
Recommended threads
- Why does this happen?
`AppwriteException: general_argument_invalid, Invalid `secret` param: Value must be a valid string and at least 1 chars and no longer than 256 chars (400)` the...
- Selfhosted starter python function retur...
I am running a selfhosted appwrite instance. Creating a node function and executing it works just fine but when i try to execute a python starter function, i ge...
- Database Write Limits hit
Hello Appwrite Admins, I'm a GitHub Education user, and about a week ago, my database was really badly optimized, resulting in about 600k writes in a single day...