HTMLify
SchemaDocumentArrayOptions.js
Views: 6 | Author: cody
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | '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; |