Когда я создал схему:
permissions: { type:[String], allowedValues: [ 'admin', 'normal', ], },
применяются ли проверки allowValues для элементов внутри массива?
В соответствии с запросом этой функции вы должны использовать это:
permissions: { type:[String] }, permissions.$: { type: String, allowedValues: [ 'admin', 'normal' ], }
Вам понадобится способ гарантировать, что повторяющиеся значения не будут помещены в массив.