Массив проверки схемы Mongoose с определенными значениями - PullRequest
0 голосов
/ 16 декабря 2018

Я новичок в mongoose и пытаюсь проверить массив с помощью предопределенных значений, таких как enum.Ниже приведена моя схема

const movieSchema = new mongoose.Schema({
language:{
    type:[String],  
    enum : ['Hindi','English','Gujarati','Marathi'], 
    required:true
}
});

Ниже приведена схема JOI, используемая для проверки значений массива

const schema = { 
 language:Joi.array().min(1).required()  
};

Как проверить, чтобы я мог сохранить поле Language в виде массива в mongodb.

Ниже приводится допустимый массив json для публикации

 {"language":["Hindi","English"] }

Ниже указан недопустимый json, и он не должен проверять схему.

 {"language":["French","Spanish","English"] }

1 Ответ

0 голосов
/ 17 декабря 2018

Использование .valid() в .items().

const schema = { 
  language: Joi.array()
    .items(Joi.string().valid(['Hindi', 'English']))  // only allow(valid) 'Hindi' or 'English' items in array
    .min(1).required()
};
...