Client db update adds a "#" to the item key

Reported by @alkanna on github

Interpreted Description

The DB update automatically appends # when app runs in production while trying to access the property as follows linkedTasks.MOB-293

Comment 1

I have this in my module localstore in local development :

"myapp:ticket:16_freshdesk":{"linkedTasks":["MOB-293"],"createdAt":1617552621160,"updatedAt":1617560777821}

I then want to remove one of the items of this array, like this :

client.db.update(key, 'remove', 'linkedTasks.MOB-293')

This works perfectly fine in local development, however, when using this code in production, I get this :

ExpressionAttributeNames contains invalid key: Syntax error; key: \"#MOB-293\""

Where does that “#” come from ?
Did I do something wrong here ?

Comment 2

Turns out it was because I could only query json objects and not arrays with this method.
I’m pretty sure this is a limitation from DynamoDB that you guys are using in production, hence why it’s working with the fdk server.

What would be nice though, is if the sdk could have similar behaviour as your production environment regarding this particular issue :slight_smile: