У меня есть следующий базовый документ в Монго:Прицепные Mongo данные в шаблон EJs
connecting to: test
> db.car.find();
{ "_id" : ObjectId("5657c6acf4175001ccfd0ea8"), "make" : "VW" }
Я использую экспресс, MongoDB родной клиент (не мангуст) и EJS.
collection.find().toArray(function (err, result) {
if (err) {
console.log(err);
} else if (result.length) {
console.log('Found:', result);
mk = result;
console.log('mk = ', mk);
} else {
console.log('No document(s) found with defined "find" criteria!');
}
//Close connection
db.close();
});
}
});
Вот рендер код:
// index page
app.get('/', function(req, res) {
res.render('pages/index', { make: result });
});
И я хочу, чтобы передать данные сделать: VW в мой index.ejs файл:
<h2>Cars:</h2>
<h3>My favorite make is <%= make %>
Это должно быть реальным и простым но я просто не понимаю, как передать переменную «mk» (которую я могу console.log на экран) визуализировать с помощью представления ejs?
Чтобы уточнить, каков результат «результата» в вашем коде визуализации. Не могли бы вы 'console.log' создать объект result в коде рендеринга и добавить это в свой вопрос? –
Метод запроса [find()] должен быть в методе маршрута [app.get()]. Затем вы можете назначить результат запроса как переменную 'EJS', как ответ Микелема. Кроме того, я думаю, что вы используете модуль 'node-mongodb-native' для доступа к MongoDB. Если вы хотите хранить данные в определенной форме, например номер или дату, вы должны использовать ORM, например Mongoose. В противном случае ваши данные будут сохранены в виде строки. Как правило, это проблема при обработке даты типа «дата рождения» или числа, такого как «общая сумма» и т. Д. Таким образом, вам нужно будет преобразовывать значения каждый раз, когда вы хотите использовать их в расчете. Удачи .. – efkan
$ узловые приложение-mongo.js 8080 является портом Соединение установлено в MongoDB: // локальный: 27017/тест Найдено: [{_id: 5657c6acf4175001ccfd0ea8, сделать: 'VW'}] тк = [ {_id: 5657c6acf4175001ccfd0ea8, make: 'VW'}] –