Open anders-topp opened 4 months ago
Why would you set a property to undefined - or anything for that matter - if you don't want it to change?
You might have code like this const obj = { prop1:1, optionalProp2:2, // optionalProp3:3 in this case this property is not set }
myRecord.a = obj.prop1; myRecord.b = obj.optionalProp2; myRecord.c = obj.optionalProp3; // this will explicity set c to "undefined" if this property was not set 'obj'
Of course it's easy to avoid this by checking for undefined before assigning, but that assumes you understand the difference between an unassigned property and a property set to "undefined" and know that Parse treats these cases differently.
... sorry, part of my last response was lost.
But doing Object.keys (myRecord) and then set all these values using the JS SDK would cause a record.Set ("optionalProp3", undefined);.
Anyway, the behaviour is different than older Parse versions so it should at least be captured in release notes / migration notes.
Did you check the changelog entries of the releases? This change may be a deliberate result of a previous discussion.
New Issue Checklist
Issue Description
Recently upgraded from Parse 4.10 to Parse 6.5 and noticed the following change in behavior which i assume is a bug.
When storing a record in the database that has a property explicitly set to "undefined", a null value is stored. I.e. the behavior is different than if you do not set a property on the object as save it. Again, in Parse 4.10, storing a property explicitly set to undefined, did not touch the property (i.e. left it to whatever it was before, for example undefined).
Steps to reproduce
Use the JS SDK. Create an empty record in the parse dashboard. explicitly set a property to "undefined" of a record using the JS sdk. store the record. look at the database in the dashboard and see that the value is Null instead of undefined
Actual Outcome
Null stored in the property of the db
Expected Outcome
The property not to be updated
Environment
Server
6.5
Mac OSX Sonoma 14.4/Node
Local
Database
MongoDB
6.0.15
Atlas
Client
JavaScript
4.1
Logs