From 170dd40d3c14a465d6c0bcfbbf169a9ee93aa355 Mon Sep 17 00:00:00 2001 From: Ilya Diallo Date: Mon, 22 Feb 2016 12:57:18 +0100 Subject: [PATCH] Accept subdocuments keys ("object.subobject"), to allow atomic updates of an object field. --- src/Schema.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/Schema.js b/src/Schema.js index 54aa3d9e..eb8f1c5b 100644 --- a/src/Schema.js +++ b/src/Schema.js @@ -426,6 +426,12 @@ Schema.prototype.validateField = function(className, key, type, freeze) { // Just to check that the key is valid transform.transformKey(this, className, key); + if( key.indexOf(".") > 0 ) { + // subdocument key (x.y) => ok if x is of type 'object' + key = key.split(".")[ 0 ]; + type = 'object'; + } + var expected = this.data[className][key]; if (expected) { expected = (expected === 'map' ? 'object' : expected);