Не работает массив Mongoose при проверке схемы - PullRequest
0 голосов
/ 03 мая 2018

В моей схеме мне нужно иметь свойство, представляющее собой массив, который всегда должен быть не нулевым и не неопределенным.

Итак, я определил, что это требуется, но проверка не работает так, как я ожидал, потому что, если я опускаю свойство, ошибка не выдается.

В случае простого свойства (не массива) эта работа, как я ожидал

const nodeSchema = new Schema({
    address: { type: String, required: true },
    outputs: { type: [String], required: true }
})

Ответы [ 2 ]

0 голосов
/ 10 сентября 2018

Я думаю, вы можете это исправить, добавив специальный валидатор, например:

const nodeSchema = new Schema({
    address: { type: String, required: true },
    outputs: {
      type: [String],
      required: true,
      validate: [(value) => value.length > 0, 'No outputs'],
    }
})

Надеюсь, это поможет вам.

0 голосов
/ 03 мая 2018

Массивы неявно имеют значение по умолчанию [] (пустой массив).

Это была проблема

...