Почему я получаю undefined, когда console.log(object.property)
?
Это мой код:
const adminusersSchema = new mongoose.Schema({});
const adminusers = mongoose.model('adminusers', adminusersSchema, 'adminusers');
app.post('/login', async (req, res)=>{
let result = await adminusers.find();
console.log(result[0]);
console.log(result[0].mail);
res.send();
});
А это вывод в консоли:
Connecting to DB
Connected to DB
Server on port: 3000
{
_id: 6110430c94569f3dfc90146d,
mail: 'admin@user.com',
password: 'admin123'
}
undefined
Если я попробую JSON.parse, я получу ошибку:
app.post('/login', async (req, res)=>{
let result = await adminusers.find();
console.log(result[0]);
console.log(JSON.parse(result[0]).mail);
res.send();
});
SyntaxError: Неожиданный токен _ в JSON в позиции 4
Я не понимаю, в чем проблема с моим кодом, потому что если я сделаю:
app.post('/login', async (req, res)=>{
let object = {
'test': 'approved',
'problem': 'solved'
}
console.log(object)
console.log(object.test);
// let result = await adminusers.find();
// console.log(result[0]);
// console.log(JSON.parse(result[0]).mail);
// res.send();
});
Мой выход:
Connecting to DB
Connected to DB
Server on port: 3000
{ test: 'approved', problem: 'solved' }
approved
Вы уверены, что ключ объекта и ваш код JS используют обычную строку
mail
, а не что-то со странными невидимыми символами? По этой причине также всегда включайте вывод консоли в блок кода, а не в изображение. Изображения плохи, если их можно избежать.Попробуйте выполнить синтаксический анализ как
JSON.parse(result[0]).mail;
. Судя по выводу, это похоже на проблему синтаксического анализа.Попробуйте let result = await adminusers.find()/findOne().lean()