-
Notifications
You must be signed in to change notification settings - Fork 71
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ExpressionAttributeNames/Values can include hyphens #321
Comments
Hi @metuuu 👋 First of all, how dare you. Second of all, this is a good find. In most cases the library strives limit the surface area of the validation and constraints it adds. This is typically because DynamoDB changes their own limits and constraints all the time, so it wouldn't be right for the library to try match/duplicate those. I'll note this change see about improving the formatting of these expression attributes/names 👍 Does DynamoDB even allow for spaces in their field names? I've never tried. |
My example was a bit over the top I agree 😄 I'm sure you don't have to worry about spaces. Thank you! |
Just to note that in my actual case I was storing images to an object and the image IDs were generated with nanoid which can include hyphens and underscore. UUIDs would also have the same issue. images: {
// { <image-id>: <s3-key> }
type: CustomAttributeType<{ [imageId: string]: string }>>('any'),
} |
I just published the fix with We can close this ticket when you've verified your use case 👍 |
All seems good! I agree with your solution, that if someone wants to shoot themselves in the leg by trying to store two items like Thank you 🙏🏻 |
Describe the bug
I have a map that include keys that contain hyphens. DynamoDB throws error when I try to update the map values.
\"ExpressionAttributeNames contains invalid key: Syntax error; key: \"#Cwxpw5TMn06X1-kscvMxS\"
It seems that electrodb uses the map keys as the ExpressionAttribute keys without removing special characters or hashing the keys.
For example updating
Outputs
ElectroDB Version
2.10.5
ElectroDB Playground Link
Use the ElectroDB Playground
The text was updated successfully, but these errors were encountered: