Перед использованием необходимо выполнить функцию ObjectId:
var ObjectId = require('mongodb').ObjectID;
Ошибка 500 обычно указывает на сбой вашей программы по какой-то причине, хотя, не просматривая журналы, трудно точно сказать, почему.
Я предполагаю, что в части
const vitamin_type = conv.parameters[VITAMINS_ENTITY].toLowerCase();
у вас нет параметра с именем «Витамины». Имена параметров чувствительны к регистру, и все они обычно строчные. Таким образом, conv.parameters[VITAMINS_ENTITY]
оценивается как undefined
, а undefined
не имеет функции .toLowerCase()
.
Кроме того, у вас есть по крайней мере одна логическая проблема в вашем коде. Строка
const vitamin_type = conv.parameters[VITAMINS_ENTITY].toLowerCase();
, которая проверяет строчку vitamin_type
в нижнем регистре. Так что такие ценности, как «витамин А».
Но когда вы проверяете значения, вы используете сравнения, такие как
if (vitamin_type == 'Vitamin A') {
, где вы сравниваете их с такими значениями, как «Витамин А». Таким образом, значения никогда не будут совпадать.
Поскольку ни одно из значений не будет совпадать, вы выйдете из функции без вызова conv.ask()
, что приведет к ошибке. (Хотя не ошибка 500.)