Задать вопрос

Как проверить, является ли переменная валидным ObjectID?

В mongoDB идентификатор документа (по умолчанию) _id имеет тип ObjectID.

Как средствами node.js проверить, является ли переменная (строка) валидным ObjectID, чтобы приложение не падало при приведении строковой переменной к этому типу, например, таким кодом?

var user_id = new objectID(req.query.user_id );
  • Вопрос задан
  • 3107 просмотров
Подписаться 3 Оценить 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Бэкенд на Node.js для фронтенд-разработчиков
    3 месяца
    Далее
  • Skillbox
    Node.js
    2 месяца
    Далее
  • Stepik
    Microservices - паттерны и практика построения микросервисов
    1 неделя
    Далее
Решения вопроса 1
vachuahe
@vachuahe Автор вопроса
В ObjectID есть функция валидирования, но она не доступна как метод.
pull request который должен исправить это к 3 версии
https://github.com/mongodb/js-bson/pull/65
а пока что делать это самостоятельно:
function isValidObjectID(str) {
  str = str + '';
  var len = str.length, valid = false;
  if (len == 12 || len == 24) {
    valid = /^[0-9a-fA-F]+$/.test(str);
  }
  return valid;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы