Erreur non détectée: lorsque l'option de modification est vraie, l'objet de validation doit avoir au moins un opérateur

En essayant de lire entre StackOverflow et la documentation du meteo-simple-schema mais ne peut pas trouver une solution. Je souhaite insérer des données dans la collection Meteor.users via un formulaire. Mais continuez d'avoir une erreur:

Uncaught Error: When the modifier option is true, validation object must have at least one operator 

CheckModifier @ simple-schema-validation.js: 271doValidation1 @ simple-schema-validation.js: 321doValidation @ simple-schema-context.js: 9simpleSchemaValidationContextValidate @ simple-schema-context.js: 44doValidate @ collection2.js: 317_.each. Mongo.Collection. (Fonction anonyme) @ collection2.js: 154 (fonction anonyme) @ VM47084: 2 InjectedScript._evaluateOn @ VM47083: 883 InjectedScript._evaluateAndWrap @ VM47083: 816 InjectedScript.evaluate @ VM47083: 682

Quelque indice?

 if (Meteor.isClient) { Template.artistform.events({ 'submit': function (event) { event.preventDefault(); //prevent page refresh var currentUserId = this.userId; form={firstName:firstname.value, lastName:lastname.value}; Meteor.users.update({_id:currentUserId}, {$set:form}); } }); } 

Et le schéma

 Schema = {}; Schema.UserCountry = new SimpleSchema({ name: { type: String, optional: true }, code: { type: String, regEx: /^[AZ]{2}$/, optional:true } }); Schema.UserProfile = new SimpleSchema({ firstName: { type: String, regEx: /^[a-zA-Z-]{2,25}$/, optional: true }, lastName: { type: String, regEx: /^[a-zA-Z]{2,25}$/, optional: true }, birthday: { type: Date, optional: true }, category : { type: String, allowedValues: ['Painting', 'Music','Other'], optional: true }, website: { type: String, regEx: SimpleSchema.RegEx.Url, optional: true }, bio: { type: String, optional: true }, country: { type: Schema.UserCountry, optional: true } 

});

 Schema.User = new SimpleSchema({ email: { type: String, optional: true }, "email.verified": { type: Boolean, optional: true }, profile: { type: Schema.UserProfile, optional: true }, createdAt: { type: Date, autoValue: function() { if (this.isInsert) { return new Date(); } else if (this.isUpsert) { return {$setOnInsert: new Date()}; } else { this.unset(); } } } }); Meteor.users.attachSchema(Schema.User); 

Merci beaucoup.

Essayez ce schéma

 Schema.User = new SimpleSchema({ email: { type: Object }, 'email.address': { type: String, optional: true }, "email.verified": { type: Boolean, optional: true }, profile: { type: Schema.UserProfile, optional: true }, createdAt: { type: Date, autoValue: function() { if (this.isInsert) { return new Date(); } else if (this.isUpsert) { return {$setOnInsert: new Date()}; } else { this.unset(); } } } }); 

Si vous utilisez le mot de passe du compte, ce schéma ne fonctionnera pas car ce package prévoit que les emails doivent être stockés d'une certaine manière.