Я пытаюсь создать простую форму для входа и не могу подтвердить пароль от MongoDB.
Сначала я создаю маршрут .post для проверки формы, а затем получаю данные MongoDB, которые я хочу сравнить с формой.
Вот мой код:
app.post('/users', (req, res) => {
const reqUser = req.body.params.name
const reqPW = req.body.params.password
// connect to mongoDB
const collection = client.db().collection("users")
collection.find({name: reqUser}).toArray(function (err, results) {
if (err) {
console.log(err)
res.send([])
return
}
else {
console.log('RESULT', results) // returns the object
console.log('RES PW', results.password) // returns undefined
// this does not work
Object.keys(results).forEach(function(key) {
console.log('key is: ', key); // returns 0
});
// validate user+pw
if (!reqUser || !reqPW/*|| reqPW !== password*/) {
return res.status(401).end()
}
// send result to frontend
res.send(results)
res.end
}
})
})
Итак, мой объект возвращается в results
, но я не могу получить данные из объекта. Я также попытался преобразовать его в массив с Array.from()
, но это тоже не сработало.
Обратите внимание, что я еще не реализовал хеширование и соляцию паролей, так как думал, что хочу работающую проверку первый. Нужно ли реализовывать это в первую очередь?