Хорошо, поэтому в последние несколько дней я начал возиться с узлом (потому что я думаю, что должен научиться чему-то действительно полезному и мог бы получить мне работу). Сейчас я знаю, как обслуживать страницы, базовую маршрутизацию и т. Д. Ницца. Но я хочу узнать, как запрашивать базы данных для получения информации.Извлечение данных из MongoDB с помощью NodeJS с помощью Express
Прямо сейчас, я пытаюсь создать приложение, которое будет служить веб-сайтом. Таким образом, в теории, приложение должно запрашивать базу данных при вводе в URL http://localhost:3000/comic/<comicid>
Я следующий код в моем app.js файле:
router.get('/', function(req, res) {
var name = getName();
console.log(name); // this prints "undefined"
res.render('index', {
title: name,
year: date.getFullYear()
});
});
function getName(){
db.test.find({name: "Renato"}, function(err, objs){
var returnable_name;
if (objs.length == 1)
{
returnable_name = objs[0].name;
console.log(returnable_name); // this prints "Renato", as it should
return returnable_name;
}
});
}
С этой установкой я console.log(getName())
к выходу " undefined "в консоли, но я понятия не имею , почему он не получает единственный элемент, который запрос действительно может найти в базе данных.
Я попытался найти в SO и даже для примера в Google, но не успел.
Как, черт возьми, я должен получить имя параметра от объекта?
Это работает (как в приложении не сбой, а индексная страница отображается в браузере), но заголовок не установлен. По крайней мере, не для меня, в моем тесте. Заголовок просто становится пустым и по умолчанию используется «localhost: 3000». –
У вас есть рендер на обратном вызове? – MaximeF
Я не понимаю, что вы имеете в виду. Код выглядит так же, как ваш. Получение информации из getName, присвоение ей имени и последующего использования в res.render(). –