SubdocumentPath


SubdocumentPath()

Parameters
  • schema «Schema»
  • key «String»
  • options «Object»
Inherits:
  • «SchemaType»

Single nested subdocument SchemaType constructor.


SubdocumentPath.

Parameters
  • option «String»
    • The option you'd like to set the value for
  • value «*»
    • value for option
Returns:
  • «undefined»
Type:
  • «property»

Sets a default option for all SubdocumentPath instances.

Example:

// Make all numbers have option `min` equal to 0.
mongoose.Schema.Embedded.set('required', true);

SubdocumentPath.prototype.discriminator()

Parameters
  • name «String»
  • schema «Schema» fields to add to the schema for instances of this sub-class

  • [options] «Object|string» If string, same as options.value.

    • [options.value] «String» the string stored in the discriminatorKey property. If not specified, Mongoose uses the name parameter.

    • [options.clone=true] «Boolean» By default, discriminator() clones the given schema. Set to false to skip cloning.

Returns:
  • «Function» the constructor Mongoose will use for creating instances of this discriminator model

Adds a discriminator to this single nested subdocument.

Example:

const shapeSchema = Schema({ name: String }, { discriminatorKey: 'kind' });
const schema = Schema({ shape: shapeSchema });

const singleNestedPath = parentSchema.path('shape');
singleNestedPath.discriminator('Circle', Schema({ radius: Number }));