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
- I'm getting an error on the console "j?....
On my self hosted instance version 1.8.1 the console is giving me this error when trying to view the rows for a table I recently created. My application is read...
- Websites hosted on my appwrite sites hav...
Hello, all my websites hosted on appwrite sites are not running I am getting this message "This site can’t be reached drivehub.appwrite.network took too long t...
- Function global variables
when i create a top-level global variable in go or bun how will it behave? is the heap getting renewed on every execution or could i do some kind of temp. cachi...