1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- 'use strict';
- const SchemaTypeOptions = require('./SchemaTypeOptions');
- /**
- * The options defined on an Document Array schematype.
- *
- * #### Example:
- *
- * const schema = new Schema({ users: [{ name: string }] });
- * schema.path('users').options; // SchemaDocumentArrayOptions instance
- *
- * @api public
- * @inherits SchemaTypeOptions
- * @constructor SchemaDocumentOptions
- */
- class SchemaDocumentArrayOptions extends SchemaTypeOptions {}
- const opts = require('./propertyOptions');
- /**
- * If `true`, Mongoose will skip building any indexes defined in this array's schema.
- * If not set, Mongoose will build all indexes defined in this array's schema.
- *
- * #### Example:
- *
- * const childSchema = Schema({ name: { type: String, index: true } });
- * // If `excludeIndexes` is `true`, Mongoose will skip building an index
- * // on `arr.name`. Otherwise, Mongoose will build an index on `arr.name`.
- * const parentSchema = Schema({
- * arr: { type: [childSchema], excludeIndexes: true }
- * });
- *
- * @api public
- * @property excludeIndexes
- * @memberOf SchemaDocumentArrayOptions
- * @type Array
- * @instance
- */
- Object.defineProperty(SchemaDocumentArrayOptions.prototype, 'excludeIndexes', opts);
- /**
- * If set, overwrites the child schema's `_id` option.
- *
- * #### Example:
- *
- * const childSchema = Schema({ name: String });
- * const parentSchema = Schema({
- * child: { type: childSchema, _id: false }
- * });
- * parentSchema.path('child').schema.options._id; // false
- *
- * @api public
- * @property _id
- * @memberOf SchemaDocumentArrayOptions
- * @type Array
- * @instance
- */
- Object.defineProperty(SchemaDocumentArrayOptions.prototype, '_id', opts);
- /*!
- * ignore
- */
- module.exports = SchemaDocumentArrayOptions;
|