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
- Weird permission failure
when creating an account I use following methods: ``` Future<void> register(String email, String password, String username) async { final user = await accoun...
- Function domain not available
Hello, even tho in docs you clearly describe that every function has its domain, I can not see it anywhere in any of my projects. How do I reveal the url of th...
- Inquiry: How to Reduce Cold Start Durati...
Hey! I was using Python for the function runtime, but after reading that Go has the fastest runtime, I switched my code over to Go. However, I'm still seeing co...