#node.js #mongodb #ejs
#node.js #mongodb #ejs
Вопрос:
Что я делаю не так?
У меня есть две таблицы данных mongodb. Имея значение из первой таблицы, я хотел бы выполнить поиск во второй, чтобы получить значение обратно.
Итак, в моем .ejs:
<%= getdes(Object.Filename) %>
В моем .js
function getdes(fName) {
let xyz = getdes2(fName).then((value) => { // This must be the trick to rip value from promise?
console.log('Test ' value) //Works! Gives value when found.
return value; //Huh? No value written back to ejs?
});
return xyz // Gives [object Promise] in .ejs
}
async function getdes2(fName) {
try {
const file = await File.findOne({ filename: fName }, File._id)
return await file.title
} catch {
return 'Not found'
}
}
Кто может помочь мне получить мое значение в моем файле .ejs?
Комментарии:
1. Разве вы не пропускаете возврат в getdes? Попробуйте добавить
return xyz;
в своюgetdes
функцию.2. См. Редактирование. Это возвращает [обещание объекта] . Я много гуглил, у всех проблемы с получением значений из обещаний. Решение по-прежнему не найдено.