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

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

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

var user_id = new objectID(req.query.user_id );
  • Вопрос задан
  • 3064 просмотра
Решения вопроса 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;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы