diff --git a/Schema.js b/Schema.js index c9544404..66d1d452 100644 --- a/Schema.js +++ b/Schema.js @@ -212,6 +212,9 @@ Schema.prototype.validateObject = function(className, object) { var geocount = 0; var promise = this.validateClassName(className); for (var key in object) { + if (object[key] === undefined) { + continue; + } var expected = getType(object[key]); if (expected === 'geopoint') { geocount++; diff --git a/spec/ParseUser.spec.js b/spec/ParseUser.spec.js index 30fc6cc5..f4f43dd1 100644 --- a/spec/ParseUser.spec.js +++ b/spec/ParseUser.spec.js @@ -1336,7 +1336,7 @@ describe('Parse.User testing', () => { var b = JSON.parse(body); expect(b.results.length).toEqual(1); var user = b.results[0]; - expect(Object.keys(user).length).toEqual(5); + expect(Object.keys(user).length).toEqual(6); done(); }); }); diff --git a/transform.js b/transform.js index ee43b8af..26e296ef 100644 --- a/transform.js +++ b/transform.js @@ -335,6 +335,7 @@ function transformAtom(atom, force, options) { return atom; case 'undefined': + return atom; case 'symbol': case 'function': throw new Parse.Error(Parse.Error.INVALID_JSON,