123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- '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;
|