You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					68 lines
				
				1.7 KiB
			
		
		
			
		
	
	
					68 lines
				
				1.7 KiB
			| 
											3 years ago
										 | '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; |