SchemaSubdocument


SchemaSubdocument()

Parameters:
  • schema «Schema»
  • path «String»
  • options «Object»
Inherits:

Single nested subdocument SchemaType constructor.


SchemaSubdocument.get()

Parameters:
  • getter «Function»
Returns:
  • «this»
Type:
  • «property»

Attaches a getter for all Subdocument instances


SchemaSubdocument.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
See:

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 }));

SchemaSubdocument.set()

Parameters:
  • option «String» The option you'd like to set the value for

  • value «Any» value for option

Returns:
  • «void,void»
Type:
  • «property»

Sets a default option for all Subdocument instances.

Example:

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