Как проверить, является ли переменная валидным ObjectID?
В mongoDB идентификатор документа (по умолчанию) _id имеет тип ObjectID.
Как средствами node.js проверить, является ли переменная (строка) валидным ObjectID, чтобы приложение не падало при приведении строковой переменной к этому типу, например, таким кодом?
Вы хотите проверить тип req.query.user_id? С большой долей вероятности это строка, если вы нигде не переопределяли это значение. А вообще есть instanceOf
В 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;
}