1234567891011121314151617181920212223242526272829303132333435363738394041 |
- /**
- * ObjectId type constructor
- *
- * #### Example
- *
- * const id = new mongoose.Types.ObjectId;
- *
- * @constructor ObjectId
- */
- 'use strict';
- const ObjectId = require('../driver').get().ObjectId;
- const objectIdSymbol = require('../helpers/symbols').objectIdSymbol;
- /*!
- * Getter for convenience with populate, see gh-6115
- */
- Object.defineProperty(ObjectId.prototype, '_id', {
- enumerable: false,
- configurable: true,
- get: function() {
- return this;
- }
- });
- /*!
- * Convenience `valueOf()` to allow comparing ObjectIds using double equals re: gh-7299
- */
- if (!ObjectId.prototype.hasOwnProperty('valueOf')) {
- ObjectId.prototype.valueOf = function objectIdValueOf() {
- return this.toString();
- };
- }
- ObjectId.prototype[objectIdSymbol] = true;
- module.exports = ObjectId;
|