Node API, где у нас есть коллекция профилей Mon go, и у каждого профиля есть subscription_plan, который представляет оставшиеся дни, которые они заплатили за использование приложения. Теперь я работаю над частью серверной части, которая должна уменьшить subscription_plan всех профилей на 1. Проблема заключается в том, что subscription_plan объявлен как String, поэтому я не могу просто уменьшить его на 1. Я попытался с этим, получив несколько советов: 1001 *
router.put('/reduceSubscription', async (req, res) => {
try {
const updatedProfiles = await Profile.updateMany({ is_active: true }, [
{
$set: {
subscription_plan: {
$toString: {
$subtract: [{ $toInt: '$subscription_plan' }, 1]
}
}
}
}
]).exec();
console.log(updatedProfiles);
} catch (err) {
res.status(500).send({ msg: err.message });
}
});
После тестирования в почтальоне я получил сообщение:
"msg": "Failed to parse number 'NaN' in $convert with no onError value: Bad digit \"N\" while parsing NaN"
Буду признателен за любую помощь или фрагмент кода, который поможет мне решить эту проблему. Спасибо:)