Существует ли функция пробного анализа для ObjectId bson?

#javascript #node.js #mongodb #bson

Вопрос:

Я хочу найти объект в MongoDB, используя либо _id, либо поле «shortUri», например: urls.findOne({'$or' : [{'_id': ObjectId.(uri)}, {'shortUri': uri}]}, callback...

Однако, когда uri это не идентификатор, я получаю следующую ошибку:

Ошибка: Переданный аргумент должен быть одной строкой из 12 байт или строкой из 24 шестнадцатеричных символов

Мне удалось решить эту проблему с помощью третичного оператора, вот так '_id': ObjectId.isValid(uri) ? ObjectId(uri) : undefined , но я пытаюсь найти функцию, подобную синтаксическому анализу, в официальной документации для mongodb и ее пакета узлов, но я не могу ее найти:

Существует ли функция пробного анализа или это '_id': ObjectId.isValid(uri) ? ObjectId(uri) : undefined единственный способ сделать это?