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.
		
		
		
		
		
			
		
			
				
					63 lines
				
				1.3 KiB
			
		
		
			
		
	
	
					63 lines
				
				1.3 KiB
			| 
											3 years ago
										 | 'use strict'; | ||
|  | 
 | ||
|  | const SchemaTypeOptions = require('./SchemaTypeOptions'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * The options defined on an ObjectId schematype. | ||
|  |  * | ||
|  |  * ####Example: | ||
|  |  * | ||
|  |  *     const schema = new Schema({ testId: mongoose.ObjectId }); | ||
|  |  *     schema.path('testId').options; // SchemaObjectIdOptions instance
 | ||
|  |  * | ||
|  |  * @api public | ||
|  |  * @inherits SchemaTypeOptions | ||
|  |  * @constructor SchemaObjectIdOptions | ||
|  |  */ | ||
|  | 
 | ||
|  | class SchemaObjectIdOptions extends SchemaTypeOptions {} | ||
|  | 
 | ||
|  | const opts = require('./propertyOptions'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * If truthy, uses Mongoose's default built-in ObjectId path. | ||
|  |  * | ||
|  |  * @api public | ||
|  |  * @property auto | ||
|  |  * @memberOf SchemaObjectIdOptions | ||
|  |  * @type Boolean | ||
|  |  * @instance | ||
|  |  */ | ||
|  | 
 | ||
|  | Object.defineProperty(SchemaObjectIdOptions.prototype, 'auto', opts); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Sets default [populate options](/docs/populate.html#query-conditions). | ||
|  |  * | ||
|  |  * ####Example: | ||
|  |  *     const schema = new Schema({ | ||
|  |  *       child: { | ||
|  |  *         type: 'ObjectId', | ||
|  |  *         ref: 'Child', | ||
|  |  *         populate: { select: 'name' } | ||
|  |  *       } | ||
|  |  *     }); | ||
|  |  *     const Parent = mongoose.model('Parent', schema); | ||
|  |  * | ||
|  |  *     // Automatically adds `.select('name')`
 | ||
|  |  *     Parent.findOne().populate('child'); | ||
|  |  * | ||
|  |  * @api public | ||
|  |  * @property populate | ||
|  |  * @memberOf SchemaObjectIdOptions | ||
|  |  * @type Object | ||
|  |  * @instance | ||
|  |  */ | ||
|  | 
 | ||
|  | Object.defineProperty(SchemaObjectIdOptions.prototype, 'populate', opts); | ||
|  | 
 | ||
|  | /*! | ||
|  |  * ignore | ||
|  |  */ | ||
|  | 
 | ||
|  | module.exports = SchemaObjectIdOptions; |