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.
		
		
		
		
		
			
		
			
				
					
					
						
							99 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							99 lines
						
					
					
						
							2.1 KiB
						
					
					
				| 'use strict';
 | |
| 
 | |
| const SchemaTypeOptions = require('./SchemaTypeOptions');
 | |
| 
 | |
| /**
 | |
|  * The options defined on a Number schematype.
 | |
|  *
 | |
|  * ####Example:
 | |
|  *
 | |
|  *     const schema = new Schema({ count: Number });
 | |
|  *     schema.path('count').options; // SchemaNumberOptions instance
 | |
|  *
 | |
|  * @api public
 | |
|  * @inherits SchemaTypeOptions
 | |
|  * @constructor SchemaNumberOptions
 | |
|  */
 | |
| 
 | |
| class SchemaNumberOptions extends SchemaTypeOptions {}
 | |
| 
 | |
| const opts = require('./propertyOptions');
 | |
| 
 | |
| /**
 | |
|  * If set, Mongoose adds a validator that checks that this path is at least the
 | |
|  * given `min`.
 | |
|  *
 | |
|  * @api public
 | |
|  * @property min
 | |
|  * @memberOf SchemaNumberOptions
 | |
|  * @type Number
 | |
|  * @instance
 | |
|  */
 | |
| 
 | |
| Object.defineProperty(SchemaNumberOptions.prototype, 'min', opts);
 | |
| 
 | |
| /**
 | |
|  * If set, Mongoose adds a validator that checks that this path is less than the
 | |
|  * given `max`.
 | |
|  *
 | |
|  * @api public
 | |
|  * @property max
 | |
|  * @memberOf SchemaNumberOptions
 | |
|  * @type Number
 | |
|  * @instance
 | |
|  */
 | |
| 
 | |
| Object.defineProperty(SchemaNumberOptions.prototype, 'max', opts);
 | |
| 
 | |
| /**
 | |
|  * If set, Mongoose adds a validator that checks that this path is strictly
 | |
|  * equal to one of the given values.
 | |
|  *
 | |
|  * ####Example:
 | |
|  *     const schema = new Schema({
 | |
|  *       favoritePrime: {
 | |
|  *         type: Number,
 | |
|  *         enum: [3, 5, 7]
 | |
|  *       }
 | |
|  *     });
 | |
|  *     schema.path('favoritePrime').options.enum; // [3, 5, 7]
 | |
|  *
 | |
|  * @api public
 | |
|  * @property enum
 | |
|  * @memberOf SchemaNumberOptions
 | |
|  * @type Array
 | |
|  * @instance
 | |
|  */
 | |
| 
 | |
| Object.defineProperty(SchemaNumberOptions.prototype, 'enum', opts);
 | |
| 
 | |
| /**
 | |
|  * Sets default [populate options](/docs/populate.html#query-conditions).
 | |
|  *
 | |
|  * ####Example:
 | |
|  *     const schema = new Schema({
 | |
|  *       child: {
 | |
|  *         type: Number,
 | |
|  *         ref: 'Child',
 | |
|  *         populate: { select: 'name' }
 | |
|  *       }
 | |
|  *     });
 | |
|  *     const Parent = mongoose.model('Parent', schema);
 | |
|  *
 | |
|  *     // Automatically adds `.select('name')`
 | |
|  *     Parent.findOne().populate('child');
 | |
|  *
 | |
|  * @api public
 | |
|  * @property populate
 | |
|  * @memberOf SchemaNumberOptions
 | |
|  * @type Object
 | |
|  * @instance
 | |
|  */
 | |
| 
 | |
| Object.defineProperty(SchemaNumberOptions.prototype, 'populate', opts);
 | |
| 
 | |
| /*!
 | |
|  * ignore
 | |
|  */
 | |
| 
 | |
| module.exports = SchemaNumberOptions; |