Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(model): support setting
excludeIndexes
as schema option for sub…
…docs Fix #8343
- Loading branch information
Showing
3 changed files
with
53 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
'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); | ||
|
||
/*! | ||
* ignore | ||
*/ | ||
|
||
module.exports = SchemaArrayOptions; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters