You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Parse Server version: 6.5
Operating system: Mac OSX Sonoma 14.4/Node
Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc): Local
Database
System (MongoDB or Postgres): MongoDB
Database version: 6.0.15
Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc): Atlas
🚀 You can help us to fix this issue faster by opening a pull request with a failing test. See our Contribution Guide for how to make a pull request, or read our New Contributor's Guide if this is your first time contributing.
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.
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
The text was updated successfully, but these errors were encountered: