how to make a attribute unique and it should be optional so it can store null or empty string
- 0
- Flutter

its giving error while leaving the optional field as empty because field is already empty string that is why its giving error. AppwriteException: document_already_exists, Document with the requested ID already exists. (409)

any one kows the solution ?

Are you manually setting the document ID? Are you using a SDK?

For the unique attribute take a look at: https://github.com/appwrite/appwrite/discussions/1492

both

Can you share the code?

You can use the console to check if there's already a document with the id you are passing.

Also note that if you mark an attribute as unique and try to create two documents with same value for unique attribute the error message is the one you mentioned AppwriteException: document_already_exists, Document with the requested ID already exists. (409)
with no indication about which attribute is causing the error.

yes i know about this

Are you making sure to pass null rather than empty string?

yes sending null

yes sending null and also tried empty string but its not working for unique attribute

What's your code? Can you do a get collection on the collection and share the output?

it definitely should work. In the screenshot below i have a unique index on s
and the first two documents have s
set to null

not using console ,
here is my code
databaseId: databaseId,
collectionId: productDataCollectionId,
documentId: documenId,
data: {
"sellingPrice": price,
"totalQuantity": quantity,
"productName": pname,
"image": imageUrl,
"itemCode":null,
});```

It shouldn't matter whether it's from the console or not since it's the same API.
Please share your collection as JSON

Now its working,

but why its storing empty string if sending data like itemCode:""
, and this empty string is not showing in appwrite console ,

due to this empty string i am getting document with request id is alredy exist.

what do you mean?

please share your collection as JSON
Recommended threads
- Redirect URL sends HTTP instead of HTTPS...
I am not sure since when this issue is present, but my Google and Apple redirect URI are no longer pointing to the HTTPS redirect URI when I try to use OAuth. ...
- Failing to run document operations on sd...
Could someone point me in the right direction I'm going in cirlces. I have a problem with sdks and my self-hosted server in production (for ~3 years) I have bee...
- Functions fail to deploy after switching...
Hi <@1087889306208718959> , after switching my self-hosted Appwrite instance to use AWS S3 as the storage backend, my Cloud Functions stopped working. I’m runni...
