У любого есть идея, почему я получаю эту ошибку: «UnhandledPromiseRejectionWarning: MongoError: w должен быть числом или строкой в соединении». ? Я получил эту ошибку во время выполнения кода ниже. Его целью является проверка того, находится ли пользователь в базе данных mongodb, если он не создает нового пользователя по электронной почте и хэш-паролю пользователя.
Я не знаю, есть ли какое-либо отношение, кажется, код работает хорошо, но когда я вчера обновил свой Mac до Catalina OS, у меня появилась эта проблема.
routerAuth.post('/signup', (req, res, next) => {
const result = Joi.validate(req.body, schema)
if (result.error === null) {
Profile.findOne({
email: req.body.email
}).then(profile => {
if (profile) {
const error = new Error(
'The email is already in use. Please choose another one'
)
res.status(409)
next(error)
} else {
bcrypt.hash(req.body.password.trim(), 12).then(hashedpassword => {
let newProfile = new Profile({
first: req.body.first,
last: req.body.last,
password: hashedpassword,
email: req.body.email
})
Profile.insertMany(newProfile).then(profile => {
res.json(profile)
})
})
}
})
}
})