This there a way to limit the amount of documents in a collection?
I am trying to make a scheduling system. So I need when 20 people sign up to a date the box with disappear or gray out. And I was planning on doing that with collections and documents
I think your best option would be to create a function that will trigger each time someone is adding a document to a collection. Then when the number of documents reach to your limit let's say 20 then you should update the collection permission so no one will have permission to create any new documents.
You can run the collection update using the updateCollection
function
https://appwrite.io/docs/server/databases?sdk=nodejs-default#databasesUpdateCollection
could I do a thing were I would list the documents everytime someone views the page. it checks the number of documents in a collection then changes it to grayed out if it is 20?
You can
But doing so will suffer from a few problems
- You calling all the documents each time, that can a burden on the server
- As long as your logic is only in the client side, then you won't be able to block it, so in regular use case your solution will work but if a user will send a request behind the scene then you won't be able to stop it.
Although you can mix this two approaches together, so blocking from the server side (function) and give the user feedback in the client side
I am doing both server and client side
How would you get the number of documents?
Best to keep a count, but in 1.3 you can set a high limit when making a list document API call
Recommended threads
- Issue with relations on database
I'm creating a food ordering website for businesses. I'm having issues with the relations on my database I attached the attributes for the collections I'm hav...
- The current user is not authorized to pe...
I want to create a document associated with user after log in with OAuth. The user were logged in, but Appwrite said user is unauthorized. User is logged in wi...
- self-hosted auth: /v1/account 404 on saf...
Project created in React/Next.js, Appwrite version 1.6.0. Authentication works in all browsers except Safari (ios), where an attempt to connect to {endpoint}/v1...