|
4 | 4 | /* eslint-disable no-use-before-define */ |
5 | 5 | import { Schema, SchemaDefinition, SchemaOptions } from 'mongoose'; |
6 | 6 | import { SanitizedConfig } from '../config/types'; |
7 | | -import { ArrayField, Block, BlockField, CheckboxField, CodeField, DateField, EmailField, Field, fieldAffectsData, GroupField, NumberField, PointField, RadioField, RelationshipField, RichTextField, RowField, SelectField, TextareaField, TextField, UploadField, fieldIsPresentationalOnly, NonPresentationalField, CollapsibleField, TabsField } from '../fields/config/types'; |
| 7 | +import { ArrayField, Block, BlockField, CheckboxField, CodeField, CollapsibleField, DateField, EmailField, Field, fieldAffectsData, fieldIsPresentationalOnly, GroupField, NonPresentationalField, NumberField, PointField, RadioField, RelationshipField, RichTextField, RowField, SelectField, TabsField, TextareaField, TextField, UploadField } from '../fields/config/types'; |
8 | 8 | import sortableFieldTypes from '../fields/sortableFieldTypes'; |
9 | 9 | import flattenTopLevelFields from '../utilities/flattenTopLevelFields'; |
10 | 10 |
|
@@ -105,6 +105,8 @@ const buildSchema = (config: SanitizedConfig, configFields: Field[], buildSchema |
105 | 105 |
|
106 | 106 | if (config.indexSortableFields && !buildSchemaOptions.global && !field.index && !field.hidden && sortableFieldTypes.indexOf(field.type) > -1 && fieldAffectsData(field)) { |
107 | 107 | indexFields.push({ [field.name]: 1 }); |
| 108 | + } else if ((field.index || field.unique) && fieldAffectsData(field)) { |
| 109 | + indexFields.push({ [field.name]: 1 }); |
108 | 110 | } |
109 | 111 | } |
110 | 112 | }); |
@@ -400,7 +402,7 @@ const fieldToSchemaMap = { |
400 | 402 | }; |
401 | 403 | }, |
402 | 404 | blocks: (field: BlockField, fields: SchemaDefinition, config: SanitizedConfig): SchemaDefinition => { |
403 | | - const baseSchema = [new Schema({ }, { _id: false, discriminatorKey: 'blockType' })]; |
| 405 | + const baseSchema = [new Schema({}, { _id: false, discriminatorKey: 'blockType' })]; |
404 | 406 | let schemaToReturn; |
405 | 407 |
|
406 | 408 | if (field.localized && config.localization) { |
|
0 commit comments