Skip to content

Commit 2a1f387

Browse files
fix: enable index creation from schema (#791)
1 parent 6f8b8d0 commit 2a1f387

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/mongoose/buildSchema.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
/* eslint-disable no-use-before-define */
55
import { Schema, SchemaDefinition, SchemaOptions } from 'mongoose';
66
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';
88
import sortableFieldTypes from '../fields/sortableFieldTypes';
99
import flattenTopLevelFields from '../utilities/flattenTopLevelFields';
1010

@@ -105,6 +105,8 @@ const buildSchema = (config: SanitizedConfig, configFields: Field[], buildSchema
105105

106106
if (config.indexSortableFields && !buildSchemaOptions.global && !field.index && !field.hidden && sortableFieldTypes.indexOf(field.type) > -1 && fieldAffectsData(field)) {
107107
indexFields.push({ [field.name]: 1 });
108+
} else if ((field.index || field.unique) && fieldAffectsData(field)) {
109+
indexFields.push({ [field.name]: 1 });
108110
}
109111
}
110112
});
@@ -400,7 +402,7 @@ const fieldToSchemaMap = {
400402
};
401403
},
402404
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' })];
404406
let schemaToReturn;
405407

406408
if (field.localized && config.localization) {

0 commit comments

Comments
 (0)